2017-04-10 74 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任務的框架的一部分)。

相關問題