提问人:Elon T 提问时间:2/21/2019 最后编辑:Elon T 更新时间:4/4/2021 访问量:2409
heroku ./node_modules/bootstrap/dist/js/bootstrap.js 找不到模块:无法解析“popper.js”
heroku ./node_modules/bootstrap/dist/js/bootstrap.js Module not found: Can't resolve 'popper.js'
问:
大家好,我是heroku的新手,
如果我从 github 存储库克隆并在计算机上运行 >npm install 和 >npm start,它可以正常工作,但在我的 heroku 应用程序上显示错误:
无法编译 ./node_modules/bootstrap/dist/js/bootstrap.js 模块 未找到:无法.js解析 '/app/node_modules/bootstrap/dist/js'
Heroku 应用程序:https://nfq-barber-shop.herokuapp.com/ Github 存储库:https://github.com/ezopas/nfq-barber-shop 我尝试运行以下命令:
npm install bootstrap -D
npm install jquery -D
npm install popper.js -D
但它仍然是同样的错误。我该怎么办?我的应用程序在其他计算机上运行完全正常(npm start)。
package.json:
{
"name": "nfq-barber-shop-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"axios": "^0.18.0",
"bootstrap": "^4.3.1",
"font-awesome": "^4.7.0",
"fullcalendar": "^3.10.0",
"fullcalendar-reactwrapper-with-scheduler": "^1.1.0",
"jquery.nicescroll": "^3.7.6",
"moment": "^2.24.0",
"nav-scroll-spy": "^1.0.2",
"node-sass": "^4.11.0",
"react": "^16.8.1",
"react-dom": "^16.8.1",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"react-router-redux": "^4.0.8",
"react-scripts": "2.1.5",
"redux": "^4.0.1",
"sweetalert": "^2.1.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"jquery": "^3.3.1",
"popper.js": "^1.14.7"
}
}
答:
顶级域名
- 将模块移入该部分
devDependencies
dependencies
- 在 Heroku 设置中将配置变量设置为 false
NPM_CONFIG_PRODUCTION
解释
Heroku 试图减少项目的捆绑包输出,在设置项目时不会安装。devDependencies
Node 应用程序开发的一般规则是,所有需要不参与应用程序运行的模块都必须进入devDependencies
dependencies
从你的外观来看,你不一定要在里面放任何东西,因为popper和jQuery确实属于这个部分。package.json
devDependencies
dependencies
您也可以将 Heroku 中的变量设置为 false,但这不是推荐的方法,因为从技术上讲,这会使应用程序不是生产应用程序NPM_CONFIG_PRODUCTION
转到 bootstrap 文档网站并选择您正在使用的 bootstrap 的适当版本。 对于 bootstrap 4,从文档中,将启动模板中存在的 bootstrapCDN 链接添加到 index.html 文件中。
对于此特定问题,请添加
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
添加到您的索引.html。
注意:检查脚本的相应版本。
评论