gpt4 book ai didi

javascript - 通过缩小和 require.js 进行 MVC 捆绑

转载 作者:行者123 更新时间:2023-12-03 12:41:18 24 4
gpt4 key购买 nike

我正在构建一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com