当 npm run build 在 laravel 9 上时,"[vite:css] Preprocessor dependency "sass" failed to load: Cannot read properties of undefined (reading 'indexOf')"

回答 3 浏览 2402 2023-10-18

当我运行npm run build时显示如下错误:

[vite:css] Preprocessor dependency "sass" failed to load: Cannot read properties of undefined (reading 'indexOf') file: /home/dev/myproject/resources/sass/app.scss error during build: TypeError: Cannot read properties of undefined (reading 'indexOf') at /home/dev/myproject/node_modules/sass/sass.dart.js:116832:12 ....

Laravel 版本:9.52.16
npm 版本:10.2.0
nvm版本:0.38.0

请帮助我并谢谢你:')

我希望这个问题可以解决我的睡眠问题

Ontagen Onta 提问于2023-10-18
您确定这个问题与 PHP 有关吗?错误消息看起来不是这样的Nico Haase 2023-10-18
抱歉,我认为与 laravel 有关:)Ontagen Onta 2023-10-18
这回答了你的问题了吗? Vite project starts with an error "Preprocessor dependency "sass" failed to load"Zoidbergseasharp 2023-10-18
@Zoidbergseasharp 是的Ontagen Onta 2023-10-23
3 个回答
#1楼
得票数 13

如果使用docker出现问题,请检查是否使用FROM node

node 始终指最新的可用节点版本,现在是21.x.x。正如此处所述,Node 21 目前不兼容从 dart 编译为 js 的程序。

FROM node:20-alpine 工作正常。

一般来说,您应该使用特定的版本来避免此类问题。

Andreas 提问于2023-10-20
太好了,这解决了我的问题。DasDany 2023-10-20
#2楼 已采纳
得票数 7

这不是 Laravel 的问题。检查是否安装了 sass。 如果不尝试

npm install sass

您也可以尝试全新安装它:

npm ci

或者

rm -rf node_modules/
npm install

如果已安装但问题仍然存在,请检查您的节点版本。 就我而言,Node 21 不起作用。

我切换到 Node 18,现在它又可以工作了。

Maaaark 提问于2023-10-18
切换到节点 18 对我来说是这样,谢谢!Philip 2023-10-18
好吧,谢谢你,我将节点版本降级到 v20.8.1 并且它可以工作Ontagen Onta 2023-10-19
#3楼
得票数 3

Node 21 目前不兼容编译为 JS 的 Dart 程序。有关详细信息,请参阅https://github.com/dart-lang/sdk/issues/53784

Natalie Weizenbaum 提问于2023-10-18
标签