webpack sass加载程序错误,同时建立该项目

db2dz4w8  于 2023-10-19  发布在  Webpack
关注(0)|答案(3)|浏览(190)

我得到他下面的错误,而建设我的项目

  1. Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
  2. SassError: 2 arguments required, but only 1 was passed.
  3. width: rem(300);
  4. ^^^^^^^^

下面是我的package.json

  1. {
  2. "name": "test",
  3. "version": "3.0.0",
  4. "private": true,
  5. "scripts": {
  6. },
  7. "devDependencies": {
  8. "mini-css-extract-plugin": "^2.4.2",
  9. "node-sass": "^6.0.1",
  10. "postcss": "^8.3.9",
  11. "postcss-loader": "^6.2.0",
  12. "postcss-preset-env": "^6.7.0",
  13. "sass": "^1.3",
  14. "sass-loader": "^12.1.0"
  15. },
  16. "dependencies": {
  17. "grunt-sass": "^3.1.0"
  18. }
  19. }

我确信rem(300)是一个有效的语法。你能告诉我为什么构建抛出这个错误吗

zkure5ic

zkure5ic1#

今天遇到了同样的问题,我有“sass”:“^1.26.5”in my package.json.
sass昨天更新到1.65.1,你的构建应该与1.64.2 https://www.npmjs.com/package/sass/v/1.65.1?activeTab=versions一起工作我得到了这个问题,因为另一个依赖我无法控制,所以改变sass版本是现在唯一的选择。但是如果你在自己的代码中使用了rem(),那么就使用Ali Klein的答案。

mw3dktmi

mw3dktmi2#

CSS rem()函数需要两个参数:https://developer.mozilla.org/en-US/docs/Web/CSS/rem
rem()CSS函数返回第一个参数除以第二个参数后的余数,类似于JavaScript余数运算符(%)
如果你创建了一个自定义的rem()函数,我建议用别的名字命名,因为这样可能会有冲突。

rkttyhzu

rkttyhzu3#

在将css更新到1.65.0版本后,出现了保留的计算函数。这些函数调用将被分析为sass计算而不是函数调用:round()、mod()、rem()、sin()、cos()、tan()、asin()、acos()、atan()、atan2()、pow()、sqrt()、hypot()、log()、exp()、abs()或sign()。如果没有命名空间,则不能再调用以其中任何一个命名的用户定义函数。
正如你所看到的,rem()不再是一个自定义函数。换个名字,一切都会像以前一样。
enter link description here

相关问题