React支持dart-scss

本文介绍了如何在React项目中解决node-sass下载和使用问题,转向使用Dart-Sass。通过npm或yarn安装dart-sass,并使用package.json的别名配置来骗过React,使其认为安装的是node-sass。此外,还展示了如何设置别名以简化文件引用,以及在遇到import问题时的解决办法。
摘要由CSDN通过智能技术生成

背景
node-sass下载速度慢,甚至下载报错。本地编译速度慢。而官方极力推荐使用Dart-sass,Dart运算速度快、易于安装
所以希望在React项目中使用dart-scss。

使用步骤:
命令行安装

yarn add dart-sass

安装成功后将css文件后缀修改为scss,结果报错告知使用node-scss。查了一下才知道React只支持node-scss不支持dart-scss。
于是google上输入create react app dart sass搜索研究,在github的create-react-app的issue下面发现:
发现别人使用了如下的神奇命令

npm install node-sass@npm:dart-sass
// 或
yarn add  node-sass@npm:dart-sass

或者在package.json配置,修改dependencies配置如下,也可行

"node-sass": "npm:dart-sass",
"dart-sass": "^1.19.0"

骗过react,以为我们安装的node-sass,实际内部安装的是dart-sass。在node_modules中确认如下:

原理是:package alias支持进行别名配置,减少引用的麻烦。

假设我们在assets目录下有一个global.scss,我们不想在pages在很深层次的目录中每次都要 …/…/…/assets/global.scss 地引用它。可以定义一个@assets别名,指向assets目录。
由于当前执行命令在xxx目录下,assets又在source里,于是其路径为

source/assets,
{
	“license”: “MIT”,
	“version”: “1.0.0”,
	“name”: “qunar”,
	“nanachi”: {
		“alias”: {
		“@assets”:“source/assets”
		}
	},
	“dependencies”: {
		“regenerator-runtime”: “^0.12.1”
	}
}

使用方式,我们在某一个页面(/pages/xxx/yyy/index.js)添加一个index.scss, 其位置为pages/xxx/yyy/index.scss

//index.js
import React from ‘@react’;
import ‘./index.scss’;
class P extends React.Component {
//略
}
export default P
//-------------- 略
//index.scss

@import ‘@assets/global.scss’ .aaa {//其他样式 color:red; }

另外,我安装完dart-sass,忽然index.tsx就报错了,import显示找不到‘react’模块。最后重新npm install安装依赖解决~

参考:github、alias别名配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值