带有Angular 8自定义webpack配置的svg-sprite-loader [英] svg-sprite-loader with Angular 8 custom webpack config
问题描述
我试图通过自定义webpack配置在我的Angular 8项目中使用svg-sprite-loader程序包(创建svg sprite).
I am trying to use svg-sprite-loader package (to create a svg sprite) with my Angular 8 project using custom webpack config.
我正在使用以下自定义配置:
I am using below custom config:
const SpriteLoaderPlugin = require('svg-sprite-loader/plugin');
module.exports = {
module: {
rules: [
{
test: /\.(svg)$/,
loader: 'svg-sprite-loader',
options: {
spriteFilename: './src/assets/svg/combinedicons.svg',
runtimeCompat: true,
},
},
],
},
plugins: [
new SpriteLoaderPlugin({
plainSprite: true,
}),
],
};
运行ng build时出现以下错误:
I am getting following error while running ng build:
找不到模块'webpack/package.json'错误:找不到模块"webpack/package.json"
Cannot find module 'webpack/package.json' Error: Cannot find module 'webpack/package.json'
我无法确定问题出在哪里,是我的配置还是程序包本身.
I am not able to identify where the issue is, is it with my config or the package itself.
推荐答案
您可能需要通过 npm i -D webpack
作为显式依赖项安装Webpack.
You might need to install Webpack as an explicit dependency via npm i -D webpack
.
或者您可能安装了2个不同版本的Webpack.
Or you might have 2 different versions of Webpack installed.
运行 npm ls webpack
.
您应该会看到类似这样的内容:
You should see something like this:
user$ npm ls webpack
@my-app /Users/user/my-app
├─┬ @angular-devkit/build-angular@0.13.9
│ └── webpack@4.29.0 deduped
└── webpack@4.29.0
如果您有不同版本的webpack,请尝试npm安装与 @ angular-devkit/build-angular
依赖项相匹配的webpack版本.
If you have different versions of webpack try npm installing a version of webpack that matches that of the @angular-devkit/build-angular
dependency.
如果您已全局安装了CLI,则还应检查是否已全局安装了多个版本的Webpack.
If you have the CLI installed globally it's also worth checking if you have multiple versions of Webpack installed globally.
我相信您可以运行 npm ls -g webpack
.
这篇关于带有Angular 8自定义webpack配置的svg-sprite-loader的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!