svg-sprite-loader с пользовательской конфигурацией Angular 8 - PullRequest
1 голос
/ 23 октября 2019

Я пытаюсь использовать пакет svg-sprite-loader (для создания svg sprite) с моим проектом Angular 8 с использованием пользовательской конфигурации webpack.

Я использую следующую настраиваемую конфигурацию:

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:

Не удается найти модуль 'webpack / package.json'Ошибка: не удается найти модуль' webpack / package.json '

Я не могу определить, где проблема, с моей конфигурацией или самим пакетом.

1 Ответ

0 голосов
/ 24 октября 2019

Вам может потребоваться установить Webpack как явную зависимость через npm i -D webpack.

. Или может быть установлено 2 разные версии Webpack.

Выполнить npm ls webpack.

Вы должны увидеть что-то вроде этого:

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

Если у вас разные версии веб-пакета, попробуйте npm установить версию веб-пакета, которая соответствует зависимости @angular-devkit/build-angular.

Если выесли у вас установлен глобальный интерфейс командной строки, также стоит проверить, установлено ли у вас несколько версий Webpack глобально.

Я полагаю, вы можете запустить npm ls -g webpack.

...