在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的抓取博客园首页RSS的代码
Dec 01 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
JavaScript中发布/订阅模式的简单实例
Nov 05 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
May 27 Javascript
AngularJS实现按钮提示与点击变色效果
Sep 07 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
Oct 01 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 Javascript
jQuery.validate.js表单验证插件的使用代码详解
Oct 22 jQuery
vue 实现小程序或商品秒杀倒计时
Apr 14 Javascript
js Proxy的原理详解
May 25 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 Ajax中文乱码问题解决方法
2009/02/27 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
jQuery实现数字华容道小游戏(实例代码)
2020/01/16 jQuery
小程序双头slider选择器的实现示例
2020/03/31 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
Python中eval带来的潜在风险代码分析
2017/12/11 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
学习python的前途 python挣钱
2019/02/27 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
浅谈python出错时traceback的解读
2020/07/15 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
公务员个人自我评价分享
2013/11/06 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
园艺师求职信
2014/04/27 职场文书
商务英语专业毕业生求职信
2014/07/06 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
2016新年感言
2015/08/03 职场文书
小学感恩主题班会
2015/08/12 职场文书