javascript - Angular + Require + Angular-resources 和 cookies 模块导致 "Error: No module: ngResource"

标签 javascript angularjs requirejs

我无法使用 require.js 使用 ngResource 我遇到了与讨论完全相同的问题 here

下面是我的代码:

main.js ( data-main attribute of require.js ) 

// https://groups.google.com/forum/#!topic/angular/I6CSeG0Z2Vo
require.config({
    paths: {
        'angular': '../bower_components/angular/angular',
        'angularResource': '../node_modules/angular-resource/angular-resource'
    },
    shim:{
        'angular':{
            exports: 'angular'
        },
        'angularResource':{
            deps: ['angular'],
            exports: 'angularResource'
        }
    }
});
debugger;
require(['controllers/MainCtrl']);
require(['directives/owNavigation']);
require(['directives/owFooter']);

下面是我的 app.js,我正在其中创建我的 Angular 应用程序模块。

app.js

define(['angular','angularResource'],function(angular,angularResource){
    debugger;
    var app = angular.module('app',['ngResource']);
    return {
        angularModule: app
    }
});

但是,“angularResouce”参数始终为null。我可以看到“angular”参数具有正确的值,并且我可以创建“app”模块,而无需将“ngResource”作为依赖项传递。

我使用的是以下版本

  • Angularjs v1.6.6
  • RequireJS 2.3.5
  • Angular 资源 v1.6.6

我可以在 Chrome 开发者工具的网络选项卡中看到 requirejs 正在加载文件“angular-resource.js”,但仍然是 app.js模块未将其作为参数接收。

enter image description here

这是在控制台上可以看到的错误

enter image description here

最佳答案

从垫片 AngularResource 中删除导出:

shim:{
        'angular':{
            exports: 'angular'
        },
        'angularResource':{
            deps: ['angular']
        }
    }

它应该有效(为我工作),保持其他一切不变。

关于javascript - Angular + Require + Angular-resources 和 cookies 模块导致 "Error: No module: ngResource",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47365998/

相关文章:

android - $http 调用不适用于 Ionic Android 构建

javascript - Mongoose 的继承

javascript - 使用javascript将内容插入div

javascript - 固定标题 - 菜单不会掉落

requirejs - 对于不同的优化选项,在 grunt 中有超过 1 个 requirejs 任务

javascript - 使用 Grunt 动态生成 RequireJS "bundles"配置

javascript - 为 AMD、CommonJS 等打包 js 库

javascript - 使用 JavaScript 从 json 对象中删除特定数据

angularjs - 使用 Angular js 的 Tinymce 编辑器无法在 IE 上运行

angularjs - Jasmine、AngularJS 在注入(inject)后更改注入(inject)的模拟对象