【问题标题】:using ngResource with webpack将 ngResource 与 webpack 一起使用
【发布时间】:2016-01-27 18:47:47
【问题描述】:

大家早上好,

我最近开始在一个新的 Angular 项目中使用 webpack。我真的很喜欢它,非常容易使用。我现在只有一个问题。 我正在尝试导入 ngResource 以在我的一个模块上使用,但不是我尝试工作的方式。我正在使用带有 babel loader (es6) 的 webpack

我尝试了以下每种方法:

//1
import ngResource from 'ng-resource'
angular.module('app', [ngResource])

//2
import 'ng-resource'
angular.module('app', ['ngResource'])


//3
import ngResource from 'ng-resource'
angular.module('app', [ngResource.name])

我什至尝试添加以下加载程序:

{
     test: /[\/]angular-resource\.js$/,
     loader: 'exports?angular.module(\'ngResource\')'
}

然后在我的模块上:

angular.module('app', ['ngResource'])

我做错了什么?我想不通:(

提前致谢, 查姆

【问题讨论】:

    标签: angularjs ecmascript-6 webpack angular-resource


    【解决方案1】:

    你应该如下导入它:

    import ngResource from 'angular-resource';
    

    然后:

    angular
      .module('app', [
        ngResource,
        ...
      ]);
    

    导入任何其他 Angular 核心模块的规则相同

    【讨论】:

    • webpack 没有 regonize 'angular-resource'。但是它确实可以识别“ng-resource”,但我在方法 1 中尝试过,但它没有用
    • 你是通过 npm 安装的吗?因为 webpack 喜欢 npm 而不是 bower,所以对于 bower,你需要额外配置 webpack。您也可以查看这篇文章goo.gl/dDSRvM,他们使用 ui-router 作为示例,但该过程与 ngResource 等效。
    • 我确实是用 npm 安装的,而不是使用 bower
    • 或使用:import * as ngResource from 'angular-resource'
    【解决方案2】:

    我也在为此苦恼,结果证明你需要

    npm install angular-resource 而不是npm install ng-resource

    然后做:

    import ngResource from 'angular-resource'

    或您尝试过的其他方法之一,它们都有效..

    【讨论】:

      【解决方案3】:

      这是正确的方式:

      var ngResource = require('ng-resource');
      ngResource = ngResource(window, angular);
      
      var yourmodule = angular.module( 'yourmodule', [ 'ngResource' ] )...
      

      【讨论】:

      • 你可以在定义中使用这些
      猜你喜欢
      • 2021-12-05
      • 2017-12-09
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 2021-02-22
      • 2016-10-09
      • 2023-04-05
      相关资源
      最近更新 更多