簡體   English   中英

MVC捆綁與最小化和require.js

[英]MVC bundling with minification and require.js

我正在構建一個MVC應用程序,並在其中使用angular和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 () {
     });
});

在require js配置中,我給出了腳本捆綁包的路徑,可以看到JS文件被捆綁和縮小並被加載。 但是我們收到一個錯誤“ 未定義Service2 ”。

當我合並兩個文件或從單個文件中刪除“ define(function(require)) ”時,一切工作正常。

合並文件:

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%確定如果刪除“ define(function(require)) ”會帶來什么影響。

在我的方案中使用MVC的捆綁和縮小功能的最佳方法是什么?

謝謝。

傳遞給define的函數只有在其他人需要時才能運行。 因此,您的服務2未定義錯誤可能是因為您沒有明確要求它。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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