在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 相关文章推荐
使用Meteor配合Node.js编写实时聊天应用的范例
Jun 23 Javascript
javascript倒计时效果实现
Nov 12 Javascript
JavaScript文档碎片操作实例分析
Dec 12 Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 Javascript
vue2.0构建单页应用最佳实战
Apr 01 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 jQuery
clipboard在vue中的使用的方法示例
Oct 19 Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
原生js实现碰撞检测
Mar 12 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
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
Laravel核心解读之异常处理的实践过程
2019/02/24 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
微信上传视频文件提示(推荐)
2018/11/22 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
python实现数据结构中双向循环链表操作的示例
2020/10/09 Python
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
软件测试面试题
2014/01/05 面试题
自我评价是什么
2014/01/04 职场文书
好军嫂事迹材料
2014/01/15 职场文书
高中军训感言200字
2014/02/23 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
个人四风对照检查材料
2014/09/26 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP
SpringCloud Alibaba 基本开发框架搭建过程
2021/06/13 Java/Android