首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加webpack插件

如何添加webpack插件
EN

Stack Overflow用户
提问于 2019-11-15 16:29:53
回答 2查看 6.7K关注 0票数 5

我使用rca与react重新连线包装。为了向webpack添加自定义配置,我创建了config-overrides.js文件来存储配置设置。我添加了一个babel-plugin-import,这非常容易。但是现在我想使用moment-locales-webpack-plugin来配置我的应用程序中的一个区域设置,以减少应用程序的重量。

代码语言:javascript
复制
const { override, fixBabelImports, addWebpackPlugin  } = require('customize-cra');
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');

module.exports = override(
  fixBabelImports('import', {
    libraryName: 'antd',
    libraryDirectory: 'es',
  }),
  addWebpackPlugin(MomentLocalesPlugin, { localeToKeep: ['us'] }),
);

yarn start之后,它向我展示:

编译失败。

代码语言:javascript
复制
MomentLocalesPlugin: received unknown options: _pluginCompat, hooks, name, parentCompilation, outputPath, outputFileSystem, inputFileSystem, recordsInputPath, recordsOutputPath, records, removedFiles, fileTimestamps, contextT
imestamps, resolverFactory, infrastructureLogger, resolvers, options, context, requestShortener, running, watchMode, _assetEmittingSourceCache, _assetEmittingWrittenFiles, watchFileSystem. Only `localesToKeep` and `ignoreInva
lidLocales` options are supported at the moment

你能帮我一下吗?

UPDATE我知道如何向override函数中添加规则,但仍然不能使它只在一个区域设置下工作。

代码语言:javascript
复制
const { override, fixBabelImports } = require('customize-cra');
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
const path = require('path');

module.exports = override(
  fixBabelImports('import', {
    libraryName: 'antd',
    libraryDirectory: 'es',
  }),
  function(config) {
    const alias = config.resolve.alias || {};
    alias['@ant-design/icons/lib/dist$'] = path.resolve(__dirname, './src/icons.js');

    config.resolve.alias = alias;
    config.plugins = (config.plugins || []).concat([
      new MomentLocalesPlugin(),
      new BundleAnalyzerPlugin(),
    ]);

    return config;
  }
);
EN

回答 2

Stack Overflow用户

发布于 2020-12-01 14:47:07

根据customize-cra,向本期添加插件的正确方法是:

代码语言:javascript
复制
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');

const addMomentLocalesPlugin = config => {
  config.plugins.push(new MomentLocalesPlugin());
  return config;
}

module.exports = override(
  addMomentLocalesPlugin,
  //...
)

如果您只想将几种语言保存在包中,可以尝试:

代码语言:javascript
复制
new MomentLocalesPlugin({ localesToKeep: ['es-us', 'pt'] })

而不是

代码语言:javascript
复制
new MomentLocalesPlugin()
票数 2
EN

Stack Overflow用户

发布于 2019-11-15 16:33:31

从错误:

目前只支持localesToKeepignoreInvalidLocales选项。

尝试将代码从localeToKeep更改为localesToKeep。带着s。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58881130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档