vue2.0项目中引入sass、less

一、vue2.0项目中引入sass预编译

(1)安装依赖

vue项目中想要使用sass,需要安装上node-sass、sass-loader和style-loader等模块。
使用命令:npm i node-sass@4.14.1 sass-loader@7.3.1 style-loader -D
加上版本号是为了防止版本过高在后面运行时报错。我这边是后面换了版本号才不报错的。

(2)设置配置文件

在vue项目中build文件夹下的webpack.base.conf.js文件里的rules:下添加下面代码:

{
    test: / \.scss$ /,
        loaders: ['style', 'css', 'sass']
} 

如图:


在webpack.base.conf.js中添加内容.jpg
(3)页面中引用
<style scoped lang="scss">
$color:red;
$k:100px;
.hello{
  width:$k;
    height:$k;
    background: $color;
}
</style>

这上面指定的lang="scss"类型是.scss,而不是.sass,这两都之间有什么不同呢?
Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点:
1.文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名
2.语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。

二、vue2.0项目中引入less预编译

(1)安装依赖

使用命令:
npm install less less-loader --save-dev或
cnpm install less less-loader --save-dev

(2)设置配置文件

在vue项目中build文件夹下的webpack.base.conf.js文件里的rules:下添加下面代码:

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

如图:


在webpack.base.conf.js中添加内容.jpg
(3)页面中引用
<style scoped lang="less">
@color:red;
@k:100px;
.hello{
  width:@k;
    height:@k;
    background: @color;
}
</style>

友情提示:当npm run dev运行时,出现报错(Module build failed: TypeError: this.getOptions is not a function),有可能是less-loader版本过高导致的,解决办法是先卸载之前的高版本,安装低版本,如下:

npm uni less less-loader
npm i less less-loader@4.1.0  --save-dev
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容