我正在尝试将我的MEAN堆栈应用程序部署到Heroku。我在过去部署了一些应用程序,其中一个是MEAN堆栈应用程序。不同的是我在这个应用程序中没有使用webpack。
我的问题是,当我加载我的应用程序时,我在chrome控制台中收到一堆错误,说这样的话:
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
以下是我认为导致错误的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文件中:
"scripts": {
"postinstall": "bower install"
}
任何有关解决这些错误的帮助都会非常棒!谢谢!
答案 0 :(得分:1)
尝试将postinstall
文件中的package.json
更改为:
"scripts": {
"postinstall": "./node_modules/bower/bin/bower install"
}
答案 1 :(得分:1)
好的,所以我弄清楚出了什么问题(在Heroku支持的帮助下)。当在Heroku上安装了bower组件时,它正在安装到我的应用程序的根目录而不是我的app文件夹。我必须创建一个.bowerrc文件并设置我希望它安装的目录路径,如下所示:
{
"directory" : "app/bower_components"
}
使用heroku run bash
命令,我能够看到文件结构,并看到bower_components不在我的应用程序中所需的位置。