是否有文章描述了部署的aurelia Web应用程序与gulp本地运行的应用程序的区别。这必须是一个普遍的问题,不仅适用于aurelia。我使用的js库挂起了浏览器。当我在本地运行应用程序时,这种情况永远不会发生,这让我觉得部署的应用程序没有真正不同的东西。
答案 0 :(得分:2)
你是对的,这不是Aurelia特有的,而是具体的构建工具。当您在本地运行应用程序时,您将使用安装在/node_modules
目录中的npm依赖项和来自本地文件系统的资源(如CSS,图像等)。捆绑应用程序进行部署时,需要捆绑运行应用程序所需的所有内容(包括依赖项和资源)。
对于每个捆绑包,您可以配置捆绑和创建不同捆绑包的内容。关于如何捆绑Aurelia CLI project(捆绑配置在aurelia_project/aurelia.json
)和JSPM project(捆绑配置在bundle.js
)中有很好的解释。
确保捆绑所有必需的文件和模块。通常问题不在于捆绑本身,而在于无法捆绑的东西。有一些非常顽固的库(例如Bootstrap的某些资产或一些基于jQuery的插件)在捆绑时不起作用。然后,您需要将它们分别包含在部署中。在JSPM配置中,这意味着您必须将它们与bundle一起导出。基本导出意味着“选择将用于在生产中运行应用程序的所有文件”,并且在JSPM的情况下,这些文件将被复制到/export
目录。在CLI安装中,您需要将copyFiles
部分添加到aurelia.json以导出额外的文件。
检查this article关于捆绑的确切工作原理和this one以了解aurelia-bundler在流程中的作用(提示:aurelia-bundler是框架的一部分,可以随时创建)为你使用Gulp任务)。