gpt4 book ai didi

javascript - AngularJS RequireJS 加载 Angular 文件上传

转载 作者:行者123 更新时间:2023-11-29 14:52:48 25 4
gpt4 key购买 nike

我很难加载 angular-file-upload模块到我的应用程序。我一直在阅读各种教程、示例、问题等。你们能帮我弄清楚我在这里做错了什么吗?

我收到以下错误消息:无法实例化模块 angular-file-upload

这是我的代码

mymodule/module.js

define(['angular', 'angular.file.upload'], function (angular) {
'use strict';
return angular.module('app.mymodule', ['angularFileUpload']);
});

mymodule/index.js

define([
'./routes',
'./models/index',
'./controllers/index',
'./directives/index'
], function () {});

app.js

define([
'angular',
'angular.resource',
'angular.ui.bootstrap',
'angular.ui.router',
'./relation/index',
'./controllers/index',
'./directives/index',
'config'
], function (angular) {
'use strict';
return angular.module('app', [
'ngResource',
'ui.bootstrap',
'ui.router',
'app.relation',
'app.controllers',
'app.directives',
'app.constants'
]);
});

ma​​in.js

require.config({
paths: {
'angular': '../lib/angular/angular',
'angular.route': '../lib/angular-route/angular-route',
'angular.resource': '../lib/angular-resource/angular-resource',
'angular.ui.bootstrap': '../lib/angular-bootstrap/ui-bootstrap-tpls',
'angular.ui.router': '../lib/angular-ui-router/angular-ui-router',
'angular.file.upload': '../lib/angular-file-upload/angular-file-upload',
...
},

shim: {
'angular': {'exports': 'angular'},
'angular.resource': ['angular'],
'angular.ui.bootstrap': ['angular'],
'angular.ui.router': ['angular'],
'sails.io' : ['socket.io']
}
});

require([
'angular',
'app',
'config',
'routes'
], function(angular) {
'use strict';

angular.element().ready(function() {
angular.bootstrap(document, ['app']);
});
}
);

最佳答案

如果你看一下 source code对于 angular-file-upload你可以看到它没有将自己注册为 AMD 模块,这意味着我们必须提供一个垫片来确保在我们加载之前加载它的所有依赖项 angular-file-upload本身。

主要依赖当然是angular - 所以我们需要设置一个垫片以确保 angularangular-file-upload 之前加载.在你的情况下,我猜 requirejs 配置应该看起来像这样:

require.config({
paths: {
"angular" : "relative/path/to/angular",
"angular.file.upload" : "relative/path/to/angular-file-upload",
... other modules
},
shim: {
"angular": {
exports: "angular"
},
"angular.file.upload": ["angular"]
}
})

那么你应该准备好摇滚了。

关于javascript - AngularJS RequireJS 加载 Angular 文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22774082/

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