2014-05-07 169 views
0

我正在構建一個MVC應用程序,並在其中使用angular和require.js。MVC與minification和require.js綁定

我已經定義了我的JS文件,如下所示。

首先JS文件:

define(function (require) { 
    'use strict'; 
    var angular = require('angular'); 
    var app = angular.module('App'); 

    app.service('Service1', function() { 
    }); 
}); 

二JS文件:

define(function (require) { 
    'use strict'; 
    var angular = require('angular'); 
    var app = angular.module('App'); 

    app.service('Service2', function() { 
    }); 
}); 

在需要js的配置,我把劇本束的路徑,可以看到JS文件捆綁並縮小並加載。但是我們收到錯誤「服務2未定義爲」。

當我合併這兩個文件或刪除「定義(功能(需要)」從個人文件,然後一切工作正常

合併後的文件:

define(function (require) { 
    'use strict'; 
    var angular = require('angular'); 
    var app = angular.module('App'); 

    app.service('Service1', function() { 
    }); 

    app.service('Service2', function() { 
    }); 
}); 

第一JS文件:

'use strict'; 
    var angular = require('angular'); 
    var app = angular.module('App'); 

    app.service('Service1', function() { 
    }); 

二JS文件:

'use strict'; 
    var angular = require('angular'); 
    var app = angular.module('App'); 

    app.service('Service2', function() { 
    }); 

我不能在文件合併爲上面,因爲我有JS文件巨大的名單。

我不是100%肯定這將是影響如果我刪除「定義(功能(需要)」。

什麼是使用MVC的捆綁和縮小功能,在我的情況最好的辦法?

感謝。

回答

1

傳遞給定義,直到它被其他東西所需要不運行的功能。所以你服務2沒有定義的錯誤可能是因爲你還沒有明確要求。

require(['First', 'Second'], function() { 
    //Use Service1 and Service2 
});