2016-08-02 42 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不是它需要的是在我的應用程序。