您可以使用globalVars
less 选项来提供从 json 文件加载的对象。
例如,使用 less-loader 插件webpack.config.js
将如下所示:
function lessGlobalVars() {
return require('flat')(require('./path/to/config.json'),
{
delimiter: '_'
});
}
module.exports = {
module: {
rules: [
{
test: /\.less$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
},
{
loader: 'less-loader',
options: {
globalVars: lessGlobalVars()
}
}
]
}
]
}
};
config.json
:
{
"dimensions": {
"width": 100,
"height": 50
}
}
globalVars
只接受扁平结构,所以我们需要扁平包,它将加载的对象扁平化为require('./path/to/config.json')
:
{
dimensions_width: 100,
dimensions_height: 50
}
将此对象传递给globalVars
选项将使全局变量@dimensions_width
可@dimensions_height
用于所有较少的样式表:
.some-class {
width: @dimensions_width;
height: @dimensions_height;
}