解决vue中使用less/sass及使用中遇到无效的问题

Wilona ·
更新时间:2024-11-13
· 987 次阅读

一:使用方法

在vue官方脚手架中,即vue-lci搭建的项目中,可以轻易的使用less/sass。

先使用npm下载依赖,命令行为'npm install less less-loader –save',再在webpack.base.conf.js中添加rules对象:

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

然后在style标签中添加lang=”less”即可,或者直接引用less文件,或者import一个less文件(如同import一个css文件)。

<style lang="less"> //import './less/a.less' </style>

<link rel="stylesheet/less" type="text/css" href="文件路径/styles.less" rel="external nofollow" >

sass可用相同的方法。

二:发现有的时候设置后无效

后面发现有的时候设置后无效,会报错。主要是由于webpack版本问题,要注意版本信息。

less和less-loader仍然需要安装。

通过检查,我们可以看到webpack.base.conf.js已经引入了vue-loader.conf.js文件:

在这个文件中,我们可以看到它引入了utils.js文件:

在utils.js文件中,我们可以看到已经配置好解析less的文件了:

最后,直接webpack.base.conf.js里less解析使用vue-loader即可:

{ test: /\.less$/, loader: ["vue-loader", "css-loader", "less-loader"] }, { test: /\.less$/, loader: 'vue-loader', options: vueLoaderConfig }

补充知识:vue中使用less出现的问题(style中使用less设置 scoped 遇到的坑)

最近在学vue的时候碰到的,在项目中的使用了 <style lang="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 less-loader@5.0.0 --save

以上这篇解决vue中使用less/sass及使用中遇到无效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。



VUE sass less

需要 登录 后方可回复, 如果你还没有账号请 注册新账号