请教前端大佬一个 vite 问题

本职后端,最近在弄一个element-plus的前端项目。当我修改env、.env.development等环境变量文件的时候,vite会报错,如下

 VITE v5.4.1  ready in 1108 ms

  ➜  Local:   http://localhost:8841/
  ➜  Network: http://192.168.0.19:8841/
  ➜  Network: http://172.16.73.1:8841/
  ➜  Network: http://172.16.56.1:8841/
17:15:30 [vite] .env changed, restarting server...
Error: ENOTEMPTY: directory not empty, rmdir 'D:\frontpro\ad\admin\web\node_modules\.pnpm\[email protected]\node_modules\sass\types\legacy'
^CTerminate batch job (Y/N)? Y
Y
 ELIFECYCLE  Command failed with exit code 255.
(base)
Administrator@WIN-20230515RJR MINGW64 /d/frontpro/ad/admin/web (main)
$ pnpm dev

> [email protected] dev D:\frontpro\ad\admin\web
> NODE_OPTIONS=--max-old-space-size=4096 vite

error when starting dev server:
Error: Cannot find module 'sass'
Require stack:
- D:\frontpro\ad\admin\web\node_modules\.pnpm\@[email protected]\node_modules\@pureadmin\theme\dist\index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Function.resolve (node:internal/modules/helpers:187:19)
    at D:\frontpro\ad\admin\web\node_modules\.pnpm\@[email protected]\node_modules\@pureadmin\theme\dist\index.js:180:34
    at Array.map (<anonymous>)
    at PluginContext.buildStart (D:\frontpro\ad\admin\web\node_modules\.pnpm\@[email protected]\node_modules\@pureadmin\theme\dist\index.js:177:41)
    at PluginContainer.hookParallel (file:///D:/frontpro/ad/admin/web/node_modules/.pnpm/[email protected]_@[email protected][email protected]/node_modules/vite/dist/node/chunks/dep-Cy9twKMn.js:48877:39)
    at PluginContainer.buildStart (file:///D:/frontpro/ad/admin/web/node_modules/.pnpm/[email protected]_@[email protected][email protected]/node_modules/vite/dist/node/chunks/dep-Cy9twKMn.js:48884:12)
    at file:///D:/frontpro/ad/admin/web/node_modules/.pnpm/[email protected]_@[email protected][email protected]/node_modules/vite/dist/node/chunks/dep-Cy9twKMn.js:63016:23
    at initServer (file:///D:/frontpro/ad/admin/web/node_modules/.pnpm/[email protected]_@[email protected][email protected]/node_modules/vite/dist/node/chunks/dep-Cy9twKMn.js:63023:6)
    at httpServer.listen (file:///D:/frontpro/ad/admin/web/node_modules/.pnpm/[email protected]_@[email protected][email protected]/node_modules/vite/dist/node/chunks/dep-Cy9twKMn.js:63031:15)
 ELIFECYCLE  Command failed with exit code 1.

其他修改不会有任何问题,每次遇到都得把node_modules.pnpm\[email protected]目录删除重新install才行 :sob:

4 个赞

应该是没安装sass模块导致的吧,用下面的命令安装一下
npm install sass --save-dev

项目运行是正常的,但是每次修改env文件的后的热重启,会让sass模块异常。修改其他文件不会有这个问题

如果只是模块没安装的问题,那我是万万不敢拿来打扰各位大佬的

感觉是版本问题,这个 legacy 木得了,被弃用了吧

sass的版本吗?我试下最新的,但是之前试过1.82.0也会出现这个问题

报错了提示的 legacy 正常是有的,但是我修改完env文件热重启的时候,整个types目录都空了,本来之前是有其他文件的

这 PR 说彻底解决了 sass 报错,更新依赖就行

six,五个小时前的提交。主要这哥们太高冷,之前提issue,都是直接删的,一句回话都没有

他这是完整版,thin版估计遥遥无期了

将就用吧,修改 env 应该不会太频繁,或者 :point_down:

一个可尝试的方法(不一定有用):overrides 项目中的 sass 版本,package.json 中添加如下代码,然后重装依赖

{
  "pnpm": {
    "overrides": {
        "sass": "^1.82.0"
    }
  }
}