Vue 进阶(幺柒柒):Vue 应用 Sass、Scss、Less 和 Stylus
一、前言
Vue
项目中应用预处理器,可以有效减少css
代码量, 推荐使用Sass
、Scss
、Less
预处理器。在创建项目的时候可以选择预处理器 (Sass/Less/Stylus
)。
如果当时没有选择,内置的 webpack
仍然会被预配置为可以完成所有的处理,也可以手动安装相应的 webpack loader
:
然后,就可以导入相应的文件类型,或在 .vue
文件中这样来使用:
下面主要讲解一下vue
中应用less
或者sass
的方法,以less
为例(style.less
)。
二、写在 vue 中的 less
所有vue
文件的<style lang="less"></style>
,会被vue-loader
处理编译到一个css
文件中,最终自动通过link
标签写入index.html
(在vue-loader.conf.js
中配置)
三、对于外 less 文件
在
main.js
中import style.less
。此时
webpack
会把style.less
和各个vue
文件的less
部分一起编译到同一个css
文件,并在index.html
的link
中自动引入。在
webpack
的入口文件entry
中加上style.less
,编译完的出口文件会被自动注入到index.html
文件中。
注:在vue2.x
的webpack.base.conf.js
:
以上是针对.vue
文件的处理规则,其中vueLoaderConfig
是vue-cli
自己定义的加载器,专门处理css
样式。
vueLoaderConfig
引用的utils.js
:
所以不需要再在rules
里写.css
.less
的处理规则。
四、注
如碰到下面错误
因sass-loader
版本过高,webpack
编译失败,解决方法:
修改sass-loader
版本(^8.0.0 => ^7.3.1
)
五、拓展阅读
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/18cef57ed739a62ec2333ea76】。文章转载请联系作者。
评论