如何传递cli参数来反应craco



当开发人员运行在package.json中设置为"analyze": "craco build --analyze-only"yarn analyze时,我想将bundle-analyzer添加到我的react应用程序中。

我确实阅读了craco的手册,但没有找到任何解决方案。我当前的配置如下:

const progressBar = require('./progressBar.webpack.config');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer')
.BundleAnalyzerPlugin;
module.exports = {
reactScriptsVersion: 'react-scripts' /* (default value) */,
webpack: {
alias: {},
plugins: {
add: [progressBar()] /* An array of plugins */
},
configure: (webpackConfig, { env, paths }) => {
if (env === 'production') {
webpackConfig.plugins.push(new BundleAnalyzerPlugin());
}
return webpackConfig;
}
}
};

我们如何将args传递给它?

您可以使用process.argv来检查参数,例如:

// craco.config.js
//...
module.exports = {
// ...
webpack: {
//...
configure: (webpackConfig, { env, paths }) => {
if (process.argv.includes('--analyze-only'))
webpackConfig.plugins.push(new BundleAnalyzerPlugin());
return webpackConfig;
}
}
};

最新更新