适用场景:
防止“机器人”非法的操作页面元素进行流氓性质的操作(仅仅打包时的类名更新)
页面中元素绑定的类与sass文件中的类建立关系,项目编译前进行类名更新,编译时,程序读取配置文件信息,绑定对应类名
最终效果
npm install node-sass-json-importer
const jsonImporter = require('node-sass-json-importer');
module/rules 配置
{
test: /\.scss$/, use: [MiniCssExtractPlugin.loader, "css-loader", {
loader: 'sass-loader',
options: {
sassOptions: {
importer: jsonImporter()
}
}
}]
},
创建json文件style.json
sass引用
@import "../../static/json/style.json";
使用样式值
font-family: map-get($style, "font");
font-size: map-get($style, "fontSize"); /*媒体*/
使用类名
.#{map-get($className, "edit")} {
background-color: map-get($style, "editBgColor");
}
.#{map-get($className, "defaultBgColor")} {
background-color: map-get($style, "defaultBgColor");
}
js中引用
const styleConfig = require('../static/json/style.json'); // 引入全局样式设置
console.log(styleConfig)
获取对应节点内容,在组件中进行类名绑定等等操作