我已经构建了一个Aurelia应用程序,但是我不确定需要将什么推送到生产服务器。我已经阅读了Node并开始对它有所了解。如果仅推送dist文件夹(捆绑文件夹),index.html和package.json,服务器是否会自动使用json文件提取适当的软件包?还是我们必须在服务器的CLI上运行npm install来拉下那些软件包?如果必须这样做,那么我假设我们必须对jspm做同样的事情。

此外,连同json文件,我们是否需要将config.js推送到生产环境?

编辑

我刚运行了gulp导出,它会生成带有以下内容的导出文件夹:


dist文件夹
jspm_packages文件夹
config.js
index.html
favicon.ico


我复制所有这些文件并将其推入生产环境。我在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。为什么不自动将其配置为捆绑/导出?如何将其修复到自动包含所有引入的库的位置?

最佳答案

运行命令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文件中,并且可以在生产中使用了。

09-16 01:25