在OSX上,在我通过yarn install
安装了所有依赖项之后,webpack捆绑包的输出一直显示错误Error evaluating function
ceil: argument must be a number
。我不知道为什么会发生这种情况,但它在我的linux机器上使用相同的包.json
一些信息:
webpack: "5.56.0"
less: "^4.1.2"
less-loader: "^10.0.1"
这是我的less loader配置:
{loader: "less-loader"}
根据我在这里的发现,less
的默认选项似乎发生了变化https://lesscss.org/usage/#less-期权数学
解决方案是在webpack配置中添加较少加载程序的选项,如下所示:
{
loader: "less-loader",
options: {
lessOptions: {
math: 'always' // <=== add this
}
}
}
您还应该更改=>strictMath: false
示例(我的文件配置覆盖.js(:
const addLessLoader = require("customize-cra-less-loader");
module.exports = override(
addLessLoader({
cssLoaderOptions: {
sourceMap: true,
modules: {
localIdentName: "[hash:base64:8]",
},
},
lessLoaderOptions: {
lessOptions: {
math: "always",
modifyVars: { "@primary-color": "#2a4365" },
javascriptEnabled: true,
strictMath: false,
},
},
})
);