2013-11-27 48 views
0

我正在咕嚕一聲去優化我的Durandal SPA。它似乎工作得很好,但現在我想輸出第二個名爲libs.js的文件,它是我所需的所有庫的合併版本,但是我的第一個dist被忽略了,而且我唯一得到的文件是main-built.js如何使用grunt durandal輸出兩個文件

我只得到一個文件,所以app/libs.js永遠不會被創建。我也沒有咕嚕嚕的錯誤。

這裏是我的Gruntfile:

module.exports = function (grunt) { 

    grunt.initConfig({ 
     durandal: { 
      libs: { 
       src: [ 
        "../scripts/jquery-1.9.1.js", 
        "../scripts/typeahead.js", 
        "../scripts/jquery-ui-1.10.3.js", 
        "../scripts/knockout-3.0.0rc.js", 
        "../scripts/toastr.js", 
        "../scripts/q.js", 
        "../scripts/breeze.min.js", 
        "../scripts/bootstrap.js", 
        "../scripts/moment.js", 
        "../scripts/lodash.js", 
        "../scripts/respond.js", 
        "../scripts/knockout-sortable.js", 
        "../scripts/knockout-bootstrap.js", 
        "../scripts/knockout.validation.js", 
       ], 
       dest: 'scripts/libs.js', 
       options: { 
        uglify2: { 
         compress: { 
          global_defs: { 
           DEBUG: false 
          } 
         } 
        } 
       } 
      }, 
      dist: { 
       src: [ 
        "app/**/*.*", 
        "scripts/durandal/**/*.*" 
       ], 
       options: { 
        baseUrl: "app/", 
        mainPath: "app/main.js", 
        out: "app/main-built.js", 

        uglify2: { 
         compress: { 
          global_defs: { 
           DEBUG: false 
          } 
         } 
        } 
       } 
      } 
     } 
    }); 
    grunt.loadTasks('tasks'); 
    grunt.registerTask('default', ['durandal']); 
}; 

回答

1

這是JavaScript的。如果您創建一個對象,如{ a: 'a', a: 'b' },第一個密鑰將被VM覆蓋。

而是這樣的配置吧:

dist: { 
    // config goes here 
}, 
dist: { 
    // config goes here 
} 

嘗試

libs: { 
    // config goes here 
}, 
main: { 
    // config goes here 
} 
相關問題