在create-react-app中使用sass的方法示例


Posted in Javascript onOctober 01, 2018

Sass(英文全称:Syntactically Awesome Stylesheets)是一个最初由Hampton Catlin设计并由Natalie Weizenbaum开发的层叠样式表语言。Sass是一个将脚本解析成CSS的脚本语言,即SassScript。Sass包括两套语法。最开始的语法叫做“缩进语法”,与Haml类似,使用缩进来区分代码块,并且用回车将不同规则分隔开。而较新的语法叫做“SCSS”,使用和CSS一样的块语法,即使用大括号将不同的规则分开,使用分号将具体的样式分开。通常情况下,这两套语法通过.sass和.scss两个文件扩展名区分开。相信每个前端开发者都对这种css预处理器有所耳闻。

不管你是刚使用Reactjs或者是Reactjs的老司机,你们一定都听说过create-react-app这个脚手架,而从create-react-app的官方文档中,我们可以看到他们暂时还不支持直接导入LESS或者Sass。但是通过一些配置,我们还是可以从官方脚手架中使用sass/scss/less的。

1、安装node-sass-chokidar到依赖

npm install --save node-sass-chokidar

2、安装node-sass

npm install node-sass

3、在项目的package.json中,将以下行添加到scripts中:

"build-css": "node-sass-chokidar src/ -o src/",
 "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive",

4、使用

创建xx.scss文件,或者将初始化项目中的src/App.css重命名为src/App.scss,在终端运行

npm run watch-css

watch-css将在src子目录中找到每个Sass文件,并在其旁边创建一个相应的CSS文件

5、同时编译sass和运行项目

(1)可以打开两个终端,一个终端执行npm start运行项目,另一个终端执行npm run watch-css进行同步编译

(2)使用npm-run-all工具,执行npm install npm-run-all --save-dev安装,在在项目的package.json中,将以下行添加到scripts中:

"run-double": "npm-run-all -p watch-css start"

在终端执行npm run run-double,可同时运行项目和编译sass

*注:"run-double"这个名称可改为自己喜欢的名称

6、推荐

更改create-react-app的webpack配置,一般使用react-app-rewired来处理

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery autocomplete 使用手册
Apr 01 Javascript
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
JS获取select的value和text值的简单实例
Feb 26 Javascript
javascript实现根据身份证号读取相关信息
Dec 17 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
分享一道关于闭包、bind和this的面试题
Feb 20 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 Javascript
从零开始搭建一个react项目开发
Feb 09 Javascript
vue项目tween方法实现返回顶部的示例代码
Mar 02 Javascript
vue 根据数组中某一项的值进行排序的方法
Aug 30 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
创建nuxt.js项目流程图解
Mar 13 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
Oct 01 #Javascript
Vue 组件封装 并使用 NPM 发布的教程
Sep 30 #Javascript
浅谈angular表单提交中ng-submit的默认使用方法
Sep 30 #Javascript
angularJs中$scope数据序列化的实例
Sep 30 #Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
Sep 30 #Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 #Javascript
mpvue将vue项目转换为小程序
Sep 30 #Javascript
You might like
正则表达式语法
2006/10/09 Javascript
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
python实现教务管理系统
2018/03/12 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
精彩自我鉴定
2014/01/16 职场文书
档案室主任岗位职责
2014/02/12 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
护士个人年终总结
2015/02/13 职场文书
四年级作文之植物
2019/09/20 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
如何使用flask将模型部署为服务
2021/05/13 Python
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android
8个JS的reduce使用实例和reduce操作方式
2021/10/05 Javascript