2016-08-02 43 views
1

我正在尝试将我的MEAN堆栈应用程序部署到Heroku。我过去部署了一些应用程序,其中一个是MEAN栈应用程序。区别是我没有在这个应用程序中使用webpack。Heroku应用程序未找到凉亭组件

我的问题是,当我打开我的应用程序,我收到了一堆错误的铬控制台说,像这样的东西:

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" 
    } 

任何帮助在解决这些错误将是真棒谢谢!

回答

1

尝试在package.json文件改变postinstall到:

"scripts": { 
    "postinstall": "./node_modules/bower/bin/bower install" 
} 
+0

适合我!谢谢。 –

1

好了,所以我想通了,什么是错误的(与Heroku的支持帮助下)。当在Heroku上安装了bower组件时,它将安装到我的应用程序的根目录而不是我的应用程序文件夹。我不得不创建一个.bowerrc文件,并设置我想它安装这样的目录路径:

{ 
    "directory" : "app/bower_components" 
} 

使用heroku run bash命令我能看到的文件结构,并看到bower_components不是它需要的是在我的应用程序。