簡體   English   中英

優化 Durandal 的構建過程

[英]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'
        }
    }
}

我對此有一些擔憂,需要您的幫助來解決:

  1. 腳本文件冗余。 構建過程將lib文件夾與 jQuery、bootstrap 等腳本一起保存。為什么? 如果您查看構建的build/app/main.js已添加所有這些腳本。 這使我想到以下問題:

  2. 如果我刪除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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM