当 npm run build 在 laravel 9 上时,"[vite:css] Preprocessor dependency "sass" failed to load: Cannot read properties of undefined (reading 'indexOf')"
当我运行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
请帮助我并谢谢你:')
我希望这个问题可以解决我的睡眠问题
如果使用docker出现问题,请检查是否使用FROM node
。
node
始终指最新的可用节点版本,现在是21.x.x
。正如此处所述,Node 21 目前不兼容从 dart 编译为 js 的程序。
FROM node:20-alpine
工作正常。
一般来说,您应该使用特定的版本来避免此类问题。
这不是 Laravel 的问题。检查是否安装了 sass。 如果不尝试
npm install sass
您也可以尝试全新安装它:
npm ci
或者
rm -rf node_modules/
npm install
如果已安装但问题仍然存在,请检查您的节点版本。 就我而言,Node 21 不起作用。
我切换到 Node 18,现在它又可以工作了。
Node 21 目前不兼容编译为 JS 的 Dart 程序。有关详细信息,请参阅https://github.com/dart-lang/sdk/issues/53784。