[英]Optimizing Durandal's build process
Durandal 的HTML 入門套件專業版包含以下用於優化構建的繁重任務:
durandal: {
main: {
src: ['app/**/*.*', 'lib/durandal/**/*.js'],
options: {
name: '../lib/require/almond-custom',
baseUrl: requireConfig.baseUrl,
mainPath: 'app/main',
paths: mixIn({}, requireConfig.paths, {
'almond': '../lib/require/almond-custom.js'
}),
exclude: [],
optimize: 'none',
out: 'build/app/main.js'
}
}
}
我對此有一些擔憂,需要您的幫助來解決:
腳本文件冗余。 構建過程將lib
文件夾與 jQuery、bootstrap 等腳本一起保存。為什么? 如果您查看構建的build/app/main.js
已添加所有這些腳本。 這使我想到以下問題:
如果我刪除lib
文件夾,則一切正常,除了控制台中require is not defined
我得到的require is not defined
。 代碼仍然尋找lib/require/require.js
,只需將其添加到那里即可解決。 然而,這不就是almond
的全部嗎? 它包含在構建的build/app/main.js
文件中。 據我所知,Almond 是用於優化文件的 require 的輕量級替代品。
要重現這些問題,您只需運行頂部鏈接中提供的“快速入門”即可。
是的,你是對的, main.js
包含運行應用程序所需的一切。 你得到require is not defined
的原因require is not defined
是因為,如果你仔細查看index.html
文件,你會看到index.html
引用在/lib/require
文件夾中main.js
文件並通過它加載我們的main.js
文件. 在index.html
正下方還有另一行被注釋,您可以取消注釋,即使您刪除lib
目錄,它也應該可以正常工作。
在取消注釋<script src="app/main.js"></script>
行並注釋<script src="lib/require/require.js" data-main="app/main"></script>
后刪除/lib
目錄將獲得的唯一錯誤<script src="lib/require/require.js" data-main="app/main"></script>
。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.