tk2312-web/config/fileRules.js

61 lines
1.5 KiB
JavaScript

module.exports = function fileRules({ cssSandbox = false, chunk='' } = {}) {
const postcssLoader = cssSandbox ? {
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: [
require('postcss-prefix-selector')({
prefix: '.' + chunk.split('/').join('_') , // 需要动态设置
}),
]
},
}
}: 'postcss-loader';
const rules = [
{
test: /\.js[x]?$/,
exclude: /node_modules/,
use: [
{
loader: 'babel-loader'
}
]
},
{
test: /\.css$/,
// use: ExtractTextPlugin.extract({
use: [
'style-loader',
'css-loader',
postcssLoader
]
// fallback: 'style-loader'
// })
},
{
test: /\.less$/,
// use: ExtractTextPlugin.extract({
use: [
'style-loader',
'css-loader',
postcssLoader,
'less-loader'
]
// fallback: 'style-loader'
// })
},
{
test: /\.(png|jpg|jpeg|gif|eot|ttf|woff|woff2|svg|svgz|ico|xlsx)(\?.+)?$/,
exclude: /favicon\.png$/,
use: [
{
loader: 'url-loader'
}
]
}
];
return rules;
};