Css 当sass同时使用calc和var时,React生成失败

Css 当sass同时使用calc和var时,React生成失败,css,reactjs,build,sass,create-react-app,Css,Reactjs,Build,Sass,Create React App,我正在使用CreateReact应用程序构建我的应用程序,当我在开发模式下运行它时,它不会出现任何错误或警告。然而,当我在sass中同时使用calc和var时,当我在终端上运行npm run build时,我得到了一个构建错误 transform: translate(calc((var(--i) -1)*-100%)); 当我取消注释提到的代码时,构建不会失败,所以我假设这就是问题所在 这很奇怪,因为当我运行npm start时,它可以完美地工作 错误消息如下所示 yarn run v1.1

我正在使用CreateReact应用程序构建我的应用程序,当我在开发模式下运行它时,它不会出现任何错误或警告。然而,当我在sass中同时使用calc和var时,当我在终端上运行npm run build时,我得到了一个构建错误

transform: translate(calc((var(--i) -1)*-100%));
当我取消注释提到的代码时,构建不会失败,所以我假设这就是问题所在

这很奇怪,因为当我运行npm start时,它可以完美地工作

错误消息如下所示

yarn run v1.16.0
$ react-scripts build
Creating an optimized production build...
Failed to compile.

./src/styles/core.scss
ParserError: Syntax Error at line: 1, column 31


error Command failed with exit code 1.

内部sass变量用$而不是var(--i)声明。 此外,还必须用空格将数字与+运算符分开。例如,您必须编写-1而不是-1。 检查有关的文档

您还可以查看有关sass中数字运算符的文档。

希望这会有所帮助。

当计算减法时使用calc()以及运算符之间使用空格时,这都会起作用

transform: translate(calc(calc((var(--i) - 1)) * -100%));

您可以发布错误消息吗?我不熟悉sass,但calc中的运算符周围不应该有空格吗?我正在使用javascript动态更改--I的值。如果我使用$来创建变量,我就不能用js来更改它,对吗?你不能这样做。检查这些问题。如果您计划定期使用react更改css值,您可以查看类似或的内容,看看它是否更适合您。