首页 > 解决方案 > 如何在 ES6 中导入名称中带有连字符的 angularjs 模块

问题描述

我正在尝试在带有 webpack 的 angularjs 应用程序中使用这个md- steppers npm 包,并且遇到了困难。angular-cache-buster npm 包也会发生这种情况

所以,我通过 npm 安装它并使用以下导入语句

import mdSteppers from 'md-steppers';

并将其添加到 angularjs DI 中,如下所示

angular.module('myapp', [ mdSteppers ]

我收到如下所示的错误

Uncaught Error: [$injector:modulerr] Failed to instantiate module bolt due to:
Error: [$injector:modulerr] Failed to instantiate module {} due to:
Error: [ng:areq] Argument 'module' is not a function, got Object
http://errors.angularjs.org/1.5.5/ng/areq?p0=module&p1=not%20a%20function%2C%20got%20Object
    at eval (webpack:///./node_modules/angular/angular.js?:68:12)
    at assertArg (webpack:///./node_modules/angular/angular.js?:1880:11)
    at assertArgFn (webpack:///./node_modules/angular/angular.js?:1890:3)
    at eval (webpack:///./node_modules/angular/angular.js?:4573:11)
    at forEach (webpack:///./node_modules/angular/angular.js?:322:20)
    at loadModules (webpack:///./node_modules/angular/angular.js?:4548:5)....

我检查了这个 npm 包的模块名称,如下所示

angular.module('md-steppers', [
  'material.core',
  'material.components.icon']);

/**
 * @ngdoc directive
 * @name mdStep
 * @module md-steppers
 *
 * @restrict E

任何帮助是极大的赞赏。谢谢

标签: angularjswebpackecmascript-6import

解决方案


尝试以下操作:

import {name as mdStepper} from 'md-steppers';
angular.module('myapp', [mdSteppers]);

推荐阅读