在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 相关文章推荐
由浅到深了解JavaScript类
Sep 08 Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
jQuery异步验证用户名是否存在示例代码
May 21 Javascript
js实现一个链接打开两个链接地址的方法
May 12 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
浅谈JS继承_寄生式继承 & 寄生组合式继承
Aug 16 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
浅谈es6中export和export default的作用及区别
Feb 07 Javascript
vue devtools的安装与使用教程
Aug 08 Javascript
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
nest.js 使用express需要提供多个静态目录的操作方法
Oct 24 Javascript
微信小程序实现点击导航标签滚动定位到对应位置
Nov 19 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php时区转换转换函数
2014/01/07 PHP
php include类文件超时问题处理
2015/02/06 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
关于window.pageYOffset和document.documentElement.scrollTop
2011/04/05 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
Vue-router 类似Vuex实现组件化开发的示例
2017/09/15 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
解决vue init webpack 下载依赖卡住不动的问题
2020/11/09 Javascript
python3编写C/S网络程序实例教程
2014/08/25 Python
Python中for循环控制语句用法实例
2015/06/02 Python
python实现的文件同步服务器实例
2015/06/02 Python
简单了解什么是神经网络
2017/12/23 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
商铺租赁意向书
2014/04/01 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
中国在我心中演讲稿
2014/09/13 职场文书
信访维稳工作汇报
2014/10/27 职场文书
情人节活动总结范文
2015/02/05 职场文书
2015年公司工作总结
2015/04/25 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript