Webpack с использованием IgnorePlugin генерирует ошибку webpackMissingModule

1

Я пытаюсь удалить angular.js из моего пакета. Не удалось найти способ удалить его из пакета bundle.js, потому что каким-то образом Webpack разрешает его из моего файла ввода. Поэтому я решил использовать webpack.IgnorePlugin но в результате я получаю ошибку.

Не удается найти модуль "угловой" в webpackMissingModule

Я уже включил угловые js из cdn, прежде чем bundle.js загрузится. Но он все еще пытается разрешить это из скриптов webpack.

webpack.make.js

module.exports = function makeWebpackConfig(options) {
    var config = {};
    config.entry = {
        app: './app/app.js'
    }
    config.output = {
        path: __dirname + '/public',
        publicPath: BUILD ? '/' : 'http://localhost:8080/',
        filename: 'bundle.js',
        chunkFilename: 'bundle.js',
    }
    ...
    config.module = {
        loaders: [{
            test: /\.js$/,
            loader: 'babel-loader',
            exclude: /node_modules/
        }, {
            test: /\.html$/,
            loader: 'raw'
        }]
    };
    config.plugins = [
        new webpack.IgnorePlugin(/angular$/),
    ];
    ...
    return config;
};
Теги:
webpack

1 ответ

1
Лучший ответ

Если вы используете Angular в своем приложении, но не хотите, чтобы webpack включал его, потому что он будет происходить откуда-то еще, вы можете установить его как внешнюю библиотеку, а webpack не загрузит его.

Это конфигурация массива верхнего уровня, которая указывает библиотеки, которые вы хотите игнорировать в комплекте.

module.exports = {
  externals: ['angular']
}

Тогда вы, вероятно, можете избавиться от плагина ignore и не иметь дело с этой дополнительной частью конфигурации.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню