我正在构建一个 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的函数只有在被其他函数需要时才会运行。因此,您的 service 2 is not Defined 错误可能是因为您没有明确要求它。
require(['First', 'Second'], function () {
//Use Service1 and Service2
});
关于javascript - 通过缩小和 require.js 进行 MVC 捆绑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23528265/