Javascript Heroku应用程序找不到bower组件
我正在尝试将我的MEAN stack应用程序部署到Heroku。我在过去部署了一些应用程序,其中一个是平均堆栈应用程序。区别在于我没有在这个应用程序中使用webpack 我的问题是,当我加载我的应用程序时,chrome控制台上会出现一系列错误,比如:Javascript Heroku应用程序找不到bower组件,javascript,angularjs,heroku,bower,mean-stack,Javascript,Angularjs,Heroku,Bower,Mean Stack,我正在尝试将我的MEAN stack应用程序部署到Heroku。我在过去部署了一些应用程序,其中一个是平均堆栈应用程序。区别在于我没有在这个应用程序中使用webpack 我的问题是,当我加载我的应用程序时,chrome控制台上会出现一系列错误,比如: GET https://xxxxxxx-66928.herokuapp.com/bower_components/angular/angular.js GET https://fierce-escarpment-66928.herokuapp.c
GET https://xxxxxxx-66928.herokuapp.com/bower_components/angular/angular.js
GET https://fierce-escarpment-66928.herokuapp.com/bower_components/bootstrap/dist/css/bootstrap-theme.min.css
{
"directory" : "app/bower_components"
}
以下是我的index.html文件的一部分,我认为这是导致错误的原因:
<html ng-app="app">
<head>
<meta charset="utf-8">
<title>XXX</title>
<meta name="description" content="Car database">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSS -->
<link rel="stylesheet" href="./style/style.css"/>
<link rel="stylesheet" href="./bower_components/bootstrap/dist/css/bootstrap.min.css"/>
<link rel="stylesheet" href="./bower_components/bootstrap/dist/css/bootstrap-theme.min.css"/>
<!-- JS libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="./bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="./bower_components/angular/angular.js"></script>
<script src="./bower_components/angular-route/angular-route.js"></script>
<script src="./bower_components/filepicker-js/filepicker.js"></script>
<script src="./bower_components/angular-filepicker/dist/angular_filepicker.js"></script>
<!-- Angular files -->
<script src="./app.js"></script>
<script src="./controllers/addCarController.js"></script>
<script src="./controllers/galleryController.js"></script>
<script src="./controllers/detailController.js"></script>
<script src="./controllers/userController.js"></script>
<script src="./services/auth_service.js"></script>
<script src="./services/error_service.js"></script>
<script src="./services/car_service.js"></script>
</head>
任何关于解决这些错误的帮助都将非常棒,谢谢 尝试将
package.json
文件中的postinstall
更改为:
"scripts": {
"postinstall": "./node_modules/bower/bin/bower install"
}
好的,所以我(在Heroku支持的帮助下)找出了问题所在。当bower组件安装在Heroku上时,它是安装到我的应用程序的根目录,而不是我的应用程序文件夹。我必须创建一个.bowerrc文件并设置我希望它安装的目录路径,如下所示:
GET https://xxxxxxx-66928.herokuapp.com/bower_components/angular/angular.js
GET https://fierce-escarpment-66928.herokuapp.com/bower_components/bootstrap/dist/css/bootstrap-theme.min.css
{
"directory" : "app/bower_components"
}
使用heroku run bash命令,我可以看到文件结构,并看到bower_组件不在我的应用程序中需要的位置