部署Aurelia / Node应用程序时需要什么?

时间:2016-08-03 18:42:48

标签: json node.js web-deployment aurelia

我已经构建了Aurelia应用程序,但我不确定需要将哪些内容推送到生产服务器。我已经读过Node了,我开始更多地掌握它了。如果我们只是推送dist文件夹(捆绑文件夹),index.html和package.json,服务器是否会自动使用json文件来下拉相应的包?或者我们是否必须在服务器的CLI上运行npm install来下载这些软件包?如果我们必须这样做,那么我假设我们必须对jspm做同样的事情。

此外,与json文件一起,我们是否需要将config.js推送到生产?

修改

我刚刚运行gulp export,它会生成一个导出文件夹,其中包含以下内容:

  1. dist文件夹
  2. jspm_packages文件夹
  3. config.js
  4. 的index.html
  5. 的favicon.ico
  6. 我复制了所有这些文件并将其推送到生产环境中。第一个错误我在main.js上得到了404

    这是我的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栏。我正在搜索404,它正在搜索appName / jspm_packages / github / rstacruz-nprogress。为什么不自动将其配置为捆绑/导出?如何将其修复到自动包含我带来的所有库的位置?

1 个答案:

答案 0 :(得分: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"
      ],
//...

在上面的示例中,我将nprogress添加到aurelia包中。您可以将其添加到app-build包中,或者甚至为nprogress创建另一个包。

现在,当你运行gulp export时,nprogress将捆绑到aurelia - ######。js文件中,它将准备好在生产中工作。