多个Aurelia应用程序并排

时间:2017-01-19 17:11:20

标签: gulp aurelia aurelia-cli aurelia-bundling

我目前的任务是为我已构建的服务构建2个UI。

这两个用户界面的输出都需要在同一根文件夹中结束。

我在" aurelia.json"中找到了命名基本包的部分。文件,并重命名为我的项目创建的包,在构建时,我的项目按预期在脚本目录中创建了2个带有新名称的新包。

然而,在运行我的项目时,我发现index.html正在尝试加载#34; vendor-bundle" (我已将其重命名为' service-vendor-bundle')。

没问题,我刚刚编辑了index.html以引用新文件,并且bingo,404已解决。

问题是," service-vendor-bundle"现在无法加载" service-app-bundle"。

我假设(可能不正确)当我在aurelia.json文件中重命名捆绑包时,构建输出也会被适当配置以加载文件。

我需要能够在2 aurelia应用程序完成后自定义这个,他们需要共享脚本文件夹,所以我需要

uione.html加载"脚本\ uione-vendor-bundle.js"和" scripts \ uione-app-bundle.js"

我需要

uitwo.html加载"脚本\ uitwo-vendor-bundle.js"和" scripts \ uitwo-app-bundle.js"

服务器上的最终文件布局如下所示:

root
  uione.html
  uitwo.html
  scripts
    uione-vendor-bundle.js
    uione-app-bundle.js
    uitwo-vendor-bundle.js
    uitwo-app-bundle.js
  images
    *.png

两个客户端应用程序必须彼此独立开发并且是独立的,因此我无法将它们组合到一个应用程序中,并且我无法将它们放入单独的文件夹中,因为将为其提供服务的服务是自定义内部构建服务,专门配置为仅从单个文件夹提供,具有单个脚本和图像文件夹。

我的aurelia.json文件目前看起来像这样:

.........
 "plugins": [
    {
      "name": "text",
      "extensions": [
        ".html",
        ".css"
      ],
      "stub": true
    }
  ]
},
"options": {
  "minify": "stage & prod",
  "sourcemaps": "dev & stage"
},
"bundles": [
  {
    "name": "uione-app-bundle.js",
    "source": [
      "[**/*.js]",
      "**/*.{css,html}"
    ]
  },
  {
    "name": "uione-vendor-bundle.js",
    "prepend": [
      "node_modules/bluebird/js/browser/bluebird.core.js",
      "node_modules/requirejs/require.js"
    ],
..........

我正在使用Aurelia cli工具(au ...)完成基于Aurelia的任务。

关于如何实现这一点的任何指示都会很棒。

1 个答案:

答案 0 :(得分:1)

我认为您通过自定义捆绑名称可以走上正轨。

您可以做的是手动加载供应商包和应用包。这样,应用程序模块已经下载并可以使用,而不是让供应商捆绑包尝试手动下载。

<强>的index.html <body aurelia-app="main"> <script src="scripts/my-special-vendor-bundle.js" data-main="aurelia-bootstrapper"></script> <script src="scripts/my-special-app-bundle.js"></script> </body>

我已经测试了这个,它对我来说很好。我在我自己的项目中使用这种手动加载技术,允许ASP.Net脚本版本控制提供缓存清除(see my answer here)。