2016-08-03 32 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

相关问题