【发布时间】:2021-07-22 10:39:38
【问题描述】:
我在导入 SASS 样式的大多数项目中都采用了相同的流程。我创建了我的反应应用程序。使用以下命令安装 SASS npm install node-sass 我将我的 SASS 文件导入到我的应用程序组件中,如下所示:
import React from "react";
import { ProvideAuth, useAuth } from "./use-auth.js";
import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom";
import './test.scss';
function App() {
const auth = useAuth();
return (
<ProvideAuth>
<Router>
<nav>
<div>
<Link to='/'>Home</Link>
<Link to='/about'>About</Link>
</div>
<div>
<button onClick={() => auth.signin()}>Sign In</button>
<button onClick={() => auth.signout()}>Sign Out</button>
</div>
</nav>
<Switch>
<Route exact path="/">
home
</Route>
<Route path="/about">
about
</Route>
</Switch>
</Router>
</ProvideAuth>
);
}
export default App;
此 SASS 文件“test.scss”与 App.js 保存在同一文件夹中 为了测试,我将这个 SASS 文件的内容保持得很基本:
nav{
display: flex;
background: blue;
}
项目编译没有任何错误,但我的样式都没有应用。下面是我项目的 package.json:
{
"name": "wally",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"firebase": "^8.7.1",
"node-sass": "^6.0.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router-dom": "^5.2.0",
"react-scripts": "^1.1.5",
"web-vitals": "^1.1.2"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
【问题讨论】:
-
你确定你在其他项目中也是这样使用的吗?查看node-sass,您似乎需要执行
var sass = require('node-sass');和sass.render ({file:'test.scss'})之类的操作。但是在这种情况下我不确定 reactjs。
标签: javascript css reactjs sass