AntDesign Pro配置将所有css js less,scss image等文件打包到assets文件夹里面,详细代码
时间: 2024-09-11 13:12:53 浏览: 68
postcss-less2scss:PostCSS插件将Less转换为Scss
Ant Design Pro是一个基于React的技术栈构建的企业级后台管理框架,它通常使用Webpack来进行资源打包。为了把CSS、JS、LESS、SCSS等静态资源都整理到`assets`目录下,你需要修改项目的配置文件,比如`.umi.config.js`或`webpack.common.js`。
以下是一个基本的示例,假设你在使用umi:
```javascript
// .umi/config.js 或 webpack.common.js
module.exports = {
chainWebpack(config) {
config.module
.rule('assets')
// 配置处理资产(包括.css, .js, .less, .scss等)
.test(/(\.css|\.less|\.scss|\.jsx?|\.ts(x?)|\.tsx?)$/)
.use('style-loader') // 加载样式
.loader('style-loader')
.use('css-loader') // 加载CSS
.loader('css-loader')
.options({
modules: true, // 如果有按需加载CSS,则启用模块化
localIdentName: '[name]__[local]--[hash:base64:5]', // 自动生成全局唯一CSS名称,便于打包后的文件名管理
})
.use('postcss-loader') // 使用PostCSS做进一步的处理
.loader('postcss-loader')
.use('resolve-url-loader') // 解析url(如背景图片)
.loader('resolve-url-loader')
.use('sass-loader') // 如果是SCSS文件,则使用Sass加载器
.loader('sass-loader')
.options({ // Sass选项
outputStyle: 'expanded', // 输出风格,默认是嵌套
});
config.optimization
.assetPath(filename => `/${process.env.NODE_ENV === 'production' ? 'assets' : ''}/${filename}`);
},
};
```
这个配置会自动收集所有匹配规则的文件,并将其放在`assets`目录下(在生产环境中)。记得设置环境变量,确保在生产环境路径指向正确的地方。
阅读全文