vite.config配置alias Error: ENOTEMPTY: directory not empty, rmdir
一、前言
使用 vite
工具构建项目时,为了 import
方便,一般会配置 alias
别名。例如:@ 代表 src 目录 。配置完成后重启服务出现报错:Error: ENOTEMPTY: directory not empty, rmdir 'D:/project/vite-react/node_modules/.vite/deps'
。
Vite
- alias 配置:
// vite.config.js import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], resolve: { alias: { '@': '/src', '@css': '/src/styles', } }, })
- 报错日志:
> vite-react@0.0.0 dev D:\project\vite-react > vite error when starting dev server: Error: ENOTEMPTY: directory not empty, rmdir 'D:/project/vite-react/node_modules/.vite/deps' at rmdirSync (fs.js:735:3) at removeDirSync (D:\project\vite-react\node_modules\_vite@2.9.9@vite\dist\node\chunks\dep-59dc6e00.js:2566:9) at loadCachedDepOptimizationMetadata (D:\project\vite-react\node_modules\_vite@2.9.9@vite\dist\node\chunks\dep- 59dc6e00.js:39428:5)
二、报错原因
vite 在启动本地服务后,会生成一些缓存文件,以提高性能提升速度。在配置 alias
后没有清空缓存文件,所以出现报错。
三、解决办法
- 删除 vite 的缓存目录,默认缓存目录在
node_modules/.vite
中,删除.vite
文件夹即可。 - 还有另一种方法,使用
--force
命令行选项,试了几次发现并不好使。于是配置了一个npm
的pre
钩子来处理,当执行npm run dev
命令的时候,会先执行rd /s /q node_modules\\.vite
命令删除缓存目录node_modules/.vite
。
windows 系统:
{ "scripts": { "predev": "rd /s /q node_modules\\.vite", "dev": "vite --host" } }
macOS 、 Linux 系统:
{ "scripts": { "predev": "rm -rf ./node_modules/.vite", "dev": "vite --host" } }
再次启动服务,一切正常。
以上就是vite.config配置alias时报错Error: ENOTEMPTY: directory not empty, rmdir的详细内容,更多关于vite.config配置alias报错的资料请关注脚本之家其它相关文章!
相关文章
vue+element DatePicker实现日期选择器封装
Vue Element DatePicker是一款基于Vue.js的日期选择控件,它提供了丰富的日期选择功能,支持日期范围选择、日期格式化、自定义日期格式、快捷选择等功能,极大地提高了用户的体验,是开发者必备的日期选择控件。2023-02-02Vue3计算属性computed和监听属性watch区别解析
计算属性适用于对已有的数据进行计算,派生新的数据,并在模板中使用;而监听属性适用于监听数据的变化,并执行一些特定的操作,根据具体的需求和场景,选择适合的机制这篇文章主要介绍了Vue3计算属性computed和监听属性watch,需要的朋友可以参考下2024-02-02
最新评论