我在Visual Studio中設置了一個後期構建事件,以使用durandal的優化器(它使用nodejs)爲生產構建main-built.js文件。得到一個錯誤,說它找不到main-built.js。我相信這是因爲它沒有正確引用我的項目。我的基本目錄位於c:\ projects \ myapp \ myapp。它只是從c:\ projects \ myapp中尋找durandal目錄。durandal優化器在Visual Studio中將其構建爲構建後過程時引用了錯誤的路徑
有沒有辦法告訴它正確的目錄?
這裏的一些輸出。
if 'Release'=='Release' C:\Projects\myapp\myapp\\App\durandal\amd\optimizer.exe
Using default base configuration.
Configuring for deploy with almond (custom).
{
"name": "durandal/amd/almond-custom",
"inlineText": true,
"stubModules": [
"durandal/amd/text"
],
"paths": {
"text": "durandal/amd/text"
},
"baseUrl": "C:\\Projects\\myapp",
"mainConfigFile": "C:\\Projects\\myapp\\main.js",
"include": [
"packages/Durandal.1.1.0/content/App/durandal/app",
...etc...
],
"exclude": [],
"keepBuildDir": true,
"optimize": "uglify2",
"out": "C:\\Projects\\myapp\\main-built.js",
"pragmas": {
"build": true
},
"wrap": true,
"insertRequire": [
"main"
]
}
我認爲服務於ASP.NET MVC項目的一部分是魔法捆綁和縮小? (你知道,App_Start文件夾中的所有東西) –
我想你是對的。然而,這不是我使用asp.net mvc(簡單安全等)的唯一原因。此外,durandal與require.js一起使用的方式與在asp.net中捆綁的方式不同。它與運行時所需的文件相關,我認爲這是需要的。您必須查看require.js才能找出所有優點。 – bigerock
好的。這些是衝突策略。如果你捆綁你會得到更好的壓縮。如果你要求加載,你可以延遲延遲並將它們隱藏在人類反應和理解延遲之後,從而提供更好性能的*感知。我發現這對於已經滿足依賴關係的小腳本來說效果很好,而且對於需要jQuery和挖空以及jQuery UI的knockout-jqueryui等第一次加載效果不佳。這就是爲什麼我捆綁圖書館而不是意見。不要忘記requirejs部分是關於聲明依賴關係。 –