【问题标题】:How a deployed aurelia web application differs than an application that runs locally on gulp已部署的 aurelia Web 应用程序与在 gulp 上本地运行的应用程序有何不同
【发布时间】:2017-09-05 10:58:12
【问题描述】:

是否有一篇文章描述了已部署的 aurelia Web 应用程序与在 gulp 上本地运行的应用程序有何不同。这一定是一个普遍的问题,不仅适用于 aurelia。我正在使用一个挂起浏览器的 js 库。当我在本地运行应用程序时,这种情况永远不会发生,这让我觉得部署的应用程序没有真正不同的东西。

【问题讨论】:

  • 如果你使用 SystemJS 框架,唯一的区别是部署版本是捆绑的,而本地版本不是。确保你的包配置文件是正确的。
  • 正如@FabioLuz 所提到的 - 您是否正在捆绑/导出您的应用程序以进行生产?您很可能在部署的应用程序中丢失了一些文件 - 尽管这些文件会导致您的控制台出现错误。
  • 似乎部署的文件与我认为的不同,或者由于某种原因它们的功能不同。

标签: javascript gulp aurelia


【解决方案1】:

你是对的,这不是特定于 Aurelia,而是特定于构建工具。当您在本地运行应用程序时,您将使用安装在 /node_modules 目录中的 npm 依赖项和来自本地文件系统的资源(如 CSS、图像等)。当您捆绑应用程序进行部署时,您需要捆绑运行应用程序所需的所有内容(包括依赖项和资源)。

对于每个捆绑器,您可以配置要捆绑的内容并创建不同的捆绑包。关于如何捆绑Aurelia CLI project(捆绑配置在aurelia_project/aurelia.json)和JSPM project(捆绑配置在bundle.js)都有很好的解释。

只需确保捆绑了所有必要的文件和模块。通常问题不在于捆绑本身,而在于无法捆绑的东西。有一些非常顽固的库(例如 Bootstrap 的一些资产或一些基于 jQuery 的插件)在捆绑时将无法工作。然后,您需要将它们分别包含在部署中。在 JSPM 配置中,这意味着您必须将它们与捆绑包一起导出。导出基本上意味着“选择将用于在生产中运行应用程序的所有文件”,并且在 JSPM 的情况下,这些文件将被复制到 /export 目录。在 CLI 安装中,您需要将 copyFiles 部分添加到 aurelia.json 以导出额外文件。

检查this article 了解捆绑的具体工作原理和this one 以了解 aurelia-bundler 在流程中的作用(提示:aurelia-bundler 是框架的一部分,它为你)。

【讨论】:

    猜你喜欢
    • 2016-11-14
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    相关资源
    最近更新 更多