vue中使用less出现的问题(style中使用less设置 scoped 遇到的坑)

时间:2024-04-10 20:01:42

最近在学vue的时候碰到的,在项目中的使用了 <style lang="less" scoped>,可以正常编译却不能启动成功,具体报错信息如下:

 

vue中使用less出现的问题(style中使用less设置 scoped 遇到的坑)

首先需要安装必要的插件

sass-resources-loader,less-loader等,网上说这个出现这个错误的原因是因为less与webpack版本不一致所致。解决的方法如下。

1.修改项目根目录build中的utils.js

在utils.js中

less: generateLoaders('less')改为
less: generateLoaders('less').concat(
  {
    loader: 'sass-resources-loader',
    options: {
      resources: path.resolve(__dirname, '../src/assets/css/1.less')
    }
  }
)

这个1.less文件各位同仁就自己在对应的目录创建下就好了。

2.修改webpack.base.config.js

在该js中的modules中的rules中增加

{
  test: /\.less$/,
  loader: "style-loader!css-loader!less-loader"
}

3.将less-loader的版本降低

在package.js中找到less-loader,将版本号改为 ^5.0.0。

然后再执行npm install [email protected] --save

本文参考相关信息来自

https://segmentfault.com/q/1010000014153660