【问题标题】:Unable to use imported SASS styles in my React js project无法在我的 React js 项目中使用导入的 SASS 样式
【发布时间】: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


【解决方案1】:

好吧,我对自己的问题没有真正的答案,但我有效地重建了项目,一切似乎都运行良好。有效地将其关闭并重新打开。

我查看了其他一些类似的问题,有些人在将 sass 与 react-router 集成时遇到了问题。不太确定这是否与我的特定问题有关,但从新安装所有东西似乎可以解决问题。

【讨论】:

  • 如果你刚刚开始,现在最好使用“sass”包(以前的dart-sass)而不是“node-sass”。
猜你喜欢
  • 2019-09-16
  • 2021-03-23
  • 2022-01-23
  • 2021-04-13
  • 2020-12-23
  • 2017-10-28
  • 2021-10-30
  • 2016-04-20
  • 2018-09-30
相关资源
最近更新 更多