在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 相关文章推荐
Lazy Load 延迟加载图片的 jQuery 插件
Feb 06 Javascript
使用js解决由border属性引起的div宽度问题
Nov 26 Javascript
Javascript中call的两种用法实例
Dec 13 Javascript
JavaScript中发布/订阅模式的简单实例
Nov 05 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
Apr 17 Javascript
js 连续赋值的简单实现
Jun 13 Javascript
原生js实现无限循环轮播图效果
Jan 20 Javascript
JavaScript数据结构之二叉树的查找算法示例
Apr 13 Javascript
极简主义法编写JavaScript类
Nov 02 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
May 29 Javascript
7个你应该知道的JS原生错误类型
Apr 29 Javascript
react antd实现动态增减表单
Jun 03 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 PHP
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
Zend Studio使用技巧两则
2016/04/01 PHP
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
Python中shutil模块的学习笔记教程
2017/04/04 Python
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
Python使用itchat模块实现简单的微信控制电脑功能示例
2019/08/26 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
python实现静态服务器
2019/09/05 Python
Python3 合并二叉树的实现
2019/09/30 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
教师实习自我鉴定
2013/12/18 职场文书
请假条格式范文
2014/04/10 职场文书
2014年保险业务员工作总结
2014/12/23 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
论文答辩开场白大全
2015/05/27 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP