使用 webpack 注入 ngMaterial,angular 全栈生成器

Inject ngMaterial using webpack, angular fullstack generator

我想构建一个 Web 应用程序,我已经开始使用 angular 全栈生成器来构建它。这个生成器使用的是webpack,我是第一次使用webpack。

我一直在尝试通过安装来添加 ngMaterial 依赖项:

npm install angular-material --save

我已经在 webpack.make.js 文件的 config.entry.vendor 中添加了依赖项,但是当我尝试导入 ngMaterial 时,我收到以下错误:

ERROR in ./client/app/app.js Module not found: Error: Cannot resolve module 'ngMaterial' in path\client\app @ ./client/app/app.js 21:18-39

如何使用 webpack 注入依赖项?

我假设你在 webpack 配置中指出了错误的依赖项名称:ngMaterial 而不是 angular-material

ngMaterial 是 angularjs 模块名称,您将其作为 angular 应用程序模块中的依赖项,如下所示:

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

但是在 webpack 依赖项中你必须指向 node.js 模块名称,即 angular-material (通过 [= 安装后它位于 node_modules 文件夹中18=] 命令)

编辑:

如果您的 app.js 需要,您还必须通过 import 'angular-material'require('angular-material') 导入该模块。但是,如果您将此依赖项包含在单独的 vendor.js 文件中(通过 webpack),那么您不应该将此模块包含在您的 app.js 中,因为它会上传到 [=] 中的页面22=]。如果这样做,您将在项目中包含它 2 次。