styzhang / css-unicode-loader

webpack loader for convert chinese or double-byte character string of scss/sass/less/css files to unicode encoding.
MIT License
37 stars 6 forks source link

rule 可能不存在test字段 #1

Closed abigmiu closed 2 years ago

abigmiu commented 2 years ago

我在使用的时候, vue-cli项目, 发现config.module.rules里面有一项内容不存在test字段, 所以可以先判断有没有test字段 (为了加粗显示, 就没有使用代码块了, 直接用的文本)

// vue.config.js module.exports = { configureWebpack: config => { const sassLoader = require.resolve('sass-loader'); config.module.rules.filter(rule => { return **rule.test** && rule.test.toString().indexOf("scss") !== -1; }) .forEach(rule => { rule.oneOf.forEach(oneOfRule => { const sassLoaderIndex = oneOfRule.use.findIndex(item => item.loader === sassLoader); oneOfRule.use.splice(sassLoaderIndex, 0, { loader: require.resolve("css-unicode-loader") }); }); }); } }

styzhang commented 2 years ago

我在使用的时候, vue-cli项目, 发现config.module.rules里面有一项内容不存在test字段, 所以可以先判断有没有test字段 (为了加粗显示, 就没有使用代码块了, 直接用的文本)

// vue.config.js module.exports = { configureWebpack: config => { const sassLoader = require.resolve('sass-loader'); config.module.rules.filter(rule => { return **rule.test** && rule.test.toString().indexOf("scss") !== -1; }) .forEach(rule => { rule.oneOf.forEach(oneOfRule => { const sassLoaderIndex = oneOfRule.use.findIndex(item => item.loader === sassLoader); oneOfRule.use.splice(sassLoaderIndex, 0, { loader: require.resolve("css-unicode-loader") }); }); }); } }

@abigmiu 嗯,明白你的意思,谢谢你的建议;不过用法中说明中给出的是个配置demo,并不适用所有场景。