hun*_*acd 6 webpack create-react-app craco
我已经使用 Create-React-App 版本 3.4.1 启动了我的应用程序,并使用 Craco 版本 5.6.4 对 CRA 提供的 Webpack 配置进行修改。由于特定的客户期望超出了我的控制范围,我需要最终确定build/js/main.js文件build/css/main.css结构。我已经成功地与 Craco 一起根据需要修改文件输出,只是我最终得到了 CSS 文件的附加副本,并添加了块哈希。
这是我的craco.config.js:
const { POSTCSS_MODES } = require('@craco/craco');
const webpack = require('webpack');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
style: {
postcss: {
mode: POSTCSS_MODES.file,
},
},
webpack: {
configure: {
optimization: {
splitChunks: {
cacheGroups: {
default: false,
},
},
runtimeChunk: false,
},
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1,
}),
new MiniCssExtractPlugin({
filename: 'css/[name].css',
}),
],
output: {
filename: 'js/[name].js',
},
},
},
};
Run Code Online (Sandbox Code Playgroud)
这是我运行时输出的内容yarn build:
...
Creating an optimized production build...
Compiled successfully.
File sizes after gzip:
60.31 KB build/js/main.js
66 B build/static/css/main.0cb9b881.css
57 B build/css/main.css
...
Run Code Online (Sandbox Code Playgroud)
(是的,CSS 文件目前没有规则,这解释了它的大小。)
我的目标是消除第二个文件build/static/css/main.0cb9b881.css.
我已经尝试对我的配置进行多次更改,包括https://github.com/webpack-contrib/mini-css-extract-plugin#extracting-all-css-in-a-single-file,但无济于事。我能够使用 MiniCssExtractPlugin 指定文件名来生成我想要的 CSS 文件,并使用标准 Webpackoutput文件名生成单个 JS 包。这是一个非弹出的 CRA 生成的应用程序,所以我猜测内置 Webpack 配置中有一些机制可以生成该额外文件,我只需要在我的 Craco 配置中覆盖它即可。如果有人确切知道需要覆盖哪一位,我将非常感谢您的帮助!
小智 0
事实上,你的 webpack 配置中已经有两个“MiniCssExtractPlugin”对象。只需要将原来的“MiniCssExtractPugin”的“filename”属性改为“static/cs s/[name].css”,而不需要添加“MiniCssExtractPlugin”对象。
| 归档时间: |
|
| 查看次数: |
1981 次 |
| 最近记录: |