2016-08-03 78 views
1

我已經構建了一個Aurelia應用程序,但我不確定需要將哪些內容推送到生產服務器。我已經閱讀了Node,並且我開始更加了解它。如果我們只是推送dist文件夾(捆綁文件夾),index.html和package.json,服務器是否會自動使用json文件來下拉相應的包?或者我們必須在服務器的CLI上運行npm install來下載這些軟件包?如果我們必須這樣做,那麼我假設我們必須用jspm來做同樣的事情。部署Aurelia/Node應用程序時需要什麼?

此外,隨着json文件,我們需要做推動config.js生產?

編輯

我只是跑一飲而盡出口和它產生以下內容的導出文件夾:

  1. DIST文件夾
  2. jspm_packages文件夾
  3. config.js
  4. 指數。 html
  5. favicon.ico

我複製所有這些文件並將它們投入生產。我得到它404 main.js

的第一個錯誤這裏是我的bundles.js文件

module.exports = { 
    "bundles": { 
    "dist/app-build": { 
     "includes": [ 
     "[**/*.js]", 
     "**/*.html!text", 
     "**/*.css!text" 
     ], 
     "options": { 
     "inject": true, 
     "minify": true, 
     "depCache": true, 
     "rev": false 
     } 
    }, 
    "dist/aurelia": { 
     "includes": [ 
     "aurelia-framework", 
     "aurelia-bootstrapper", 
     "aurelia-fetch-client", 
     "aurelia-router", 
     "aurelia-animator-css", 
     "aurelia-templating-binding", 
     "aurelia-polyfills", 
     "aurelia-templating-resources", 
     "aurelia-templating-router", 
     "aurelia-loader-default", 
     "aurelia-history-browser", 
     "aurelia-logging-console", 
     "bootstrap", 
     "bootstrap/css/bootstrap.css!text", 
     "fetch", 
     "jquery" 
     ], 
     "options": { 
     "inject": true, 
     "minify": true, 
     "depCache": false, 
     "rev": false 
     } 
    } 
    } 
}; 

我在爲什麼它不加載我nprogress酒吧困惑。我得到了它在尋找appName/jspm_packages/github/rstacruz-nprogress的404。爲什麼不自動配置它被捆綁/導出?我如何解決它自動包含我帶入的所有庫的位置?

回答

2

運行命令gulp export。它將綁定應用程序並將必要的文件(index.html,config.js等)複製到export文件夾中。然後,只需將導出文件夾複製到服務器。無需在生產中安裝軟件包。

編輯

當你安裝一個軟件包,如nprogress,你必須把它列入到包文件中的一個。該軟件包在build/bundles.js中配置。 aurelia導航框架配置了2個軟件包,一個用於aurelia庫,另一個用於應用程序的其餘部分。如果需要,您還可以創建更多捆綁包。要添加包裝成束的文件,你只需要它的名字添加到特定陣列,例如:

//... 
"dist/aurelia": { 
     "includes": [ 
     "aurelia-framework", 
     "aurelia-bootstrapper", 
     "aurelia-fetch-client", 
     "aurelia-router", 
     "aurelia-animator-css", 
     "aurelia-templating-binding", 
     "aurelia-polyfills", 
     "aurelia-templating-resources", 
     "aurelia-templating-router", 
     "aurelia-loader-default", 
     "aurelia-history-browser", 
     "aurelia-logging-console", 
     "bootstrap", 
     "bootstrap/css/bootstrap.css!text", 
     "fetch", 
     "jquery", 
     "nprogress" 
     ], 
//... 

在上面的例子中我加入nprogressaurelia束。您可以將它添加到app-build包中,或者甚至爲nprogress創建另一個包。

現在,當您運行gulp export時,nprogress將被捆綁到aurelia - ######。js文件中,並且它將準備好在生產環境中工作。

+0

這是如何工作的?當你運行'gulp export'時,是否會將node_modules javascript文件遷移到文件夾中?我一直有一個運行命令的錯誤,所以我現在無法查看該文件夾 – James

+1

簡而言之,'gulp bundle'會複製所需的所有node_modules/jspm_packages文件並將它們合併到一個或多個文件中。 'gulp export'將在引擎蓋下運行'gulp bundle',複製一些必要的文件(index.html,config.js等),最後將它們導出到一個「導出」文件夾。 –

+0

好吧我得到它的工作...種。導出文件夾有一個dist和jspm_packages文件夾以及一個config.js和index.html文件。出於某種原因,我在我的css文件和進度條加載404s。 jspm_packages文件夾幾乎沒有我擁有的軟件包數量。它唯一加載的是twbs,bluebird和font-awesome。我需要更改哪些內容以加載所有包? – James

相關問題