2017-04-10 32 views
1

是否有一篇文章描述了部署的aurelia Web应用程序与在本地运行的应用程序的不同之处。这一定是一个普遍的问题,不仅适用于aurelia。有一个我正在使用的js库会挂起浏览器。当我在本地运行应用程序时,这绝不会发生,这让我认为部署的应用程序没有真正的不同。部署的aurelia Web应用程序与在本地运行的应用程序的差异如何?

+1

如果您使用的是SystemJS框架,唯一的区别是部署的版本是捆绑的,而本地版本不是。确保你的包配置文件是正确的。 –

+1

正如@FabioLuz所触及的 - 您的应用是捆绑/导出用于制作吗?最有可能的是,您在部署的应用程序中缺少一些文件 - 尽管这些应用程序会在控制台中导致错误。 – Tom

+0

看起来不同的文件比我想象的要多,或者出于某种原因它们的功能不同。 – Spiff

回答

2

你是对的,这不是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是为您创建随时可用的Gulp任务的框架的一部分)。

相关问题