首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS RequireJS加载角文件-上传

AngularJS RequireJS加载角文件-上传
EN

Stack Overflow用户
提问于 2014-03-31 23:24:15
回答 2查看 2K关注 0票数 3

我很难将角文件上传模块加载到我的应用程序中。我一直在阅读各种教程,例如,提问,等等。你们能帮我找出我在这里做错了什么吗?

我收到以下错误消息:Failed to instantiate module angular-file-upload

这是我的密码

mymodule/module.js

代码语言:javascript
复制
define(['angular', 'angular.file.upload'], function (angular) {
'use strict';
    return angular.module('app.mymodule', ['angularFileUpload']);
});

mymodule/index.js

代码语言:javascript
复制
define([
'./routes',
'./models/index',
'./controllers/index',
'./directives/index'
], function () {});

app.js

代码语言:javascript
复制
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'
    ]);
});

main.js

代码语言:javascript
复制
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']);
    });
  }
);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-09 20:51:51

如果您查看源代码 for angular-file-upload,您可以看到它没有将自己注册为angular-file-upload模块,这意味着我们必须提供一个shim,以确保在加载angular-file-upload之前加载它的所有依赖项。

当然,主要的依赖项是angular --因此我们需要设置一个shim,以确保angularangular-file-upload之前加载。在您的例子中,我想requirejs配置应该如下所示:

代码语言:javascript
复制
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"]
    }
})

那你应该准备好摇滚了。

票数 2
EN

Stack Overflow用户

发布于 2014-03-31 23:29:02

如果它与我使用的库相同,那么您可能希望注入angularFileUpload而不是angular-file-upload

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22774082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档