首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按创建react应用程序的条件添加craco webpack插件

按创建react应用程序的条件添加craco webpack插件
EN

Stack Overflow用户
提问于 2020-05-03 01:20:39
回答 1查看 5.9K关注 0票数 0

我正在使用craco与创建反应应用程序,我想添加一个插件只在开发模式或环境变量

我的craco.config外观是:

代码语言:javascript
复制
const path = require('path');
const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');

module.exports = () => {
  return {
    webpack: {
      alias: {
        environment: path.join(
          __dirname,
          'src',
          'environments',
          process.env.CLIENT_ENV || 'production'
        )
      }
      //   plugins: [new BundleAnalyzerPlugin()]
    },
    jest: {
      configure: {
        testPathIgnorePatterns: ['<rootDir>/src/environments/'],
        moduleNameMapper: {
          environment: '<rootDir>/src/environments/test'
        }
      }
    }
  };
};

所以我想要这个BundleAnalyzerPlugin。仅当ENV参数x =true或NODE_ENV=test时

当我尝试推送插件数组时,我得到了未定义的插件

代码语言:javascript
复制
module.exports.webpack.plugins.push(plugin)
EN

回答 1

Stack Overflow用户

发布于 2020-08-06 02:49:26

您可以在任何脚本命令之前设置环境变量。例如,在package.json中,在设置某些变量的scripts段落中添加新行:

代码语言:javascript
复制
 "scripts": {
    "start": "craco start",
    "build": "craco build",
    "test": "craco test",
    "analyzer": "env NODE_ENV=production ANALYZER=test yarn start"
 }

craco.config.js中,您可以简单地使用:

代码语言:javascript
复制
 plugins: process.env.ANALYZER === 'test' ? [new BundleAnalyzerPlugin()] : []

现在,运行npm run analyzer,将node env设置为production,将变量ANALYZER设置为test (稍后使用),并加载craco配置,这将启动webpack服务器和分析器。

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

https://stackoverflow.com/questions/61563466

复制
相关文章

相似问题

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