从项目中删除文件时包裹捆绑器“ENOENT:没有这样的文件或目录”

Posted

技术标签:

【中文标题】从项目中删除文件时包裹捆绑器“ENOENT:没有这样的文件或目录”【英文标题】:Parcel bundler "ENOENT: no such file or directory" when delete files from project 【发布时间】:2020-03-30 11:44:45 【问题描述】:

在我从使用 Parcel bundler 的项目中删除几个文件后,命令parcel ./index.html 开始输出以下错误:

Cannot read property 'type' of undefined
at Bundler.createBundleTree (<project_root>/node_modules/parcel-bundler/src/Bundler.js:654:54)
at Bundler.createBundleTree (<project_root>/node_modules/parcel-bundler/src/Bundler.js:721:12)
at Bundler.createBundleTree (<project_root>/node_modules/parcel-bundler/src/Bundler.js:721:12)
at Bundler.createBundleTree (<project_root>/node_modules/parcel-bundler/src/Bundler.js:721:12)
at Bundler.createBundleTree (<project_root>/node_modules/parcel-bundler/src/Bundler.js:721:12)
at Bundler.createBundleTree (<project_root>/node_modules/parcel-bundler/src/Bundler.js:721:12)
at Bundler.bundle (<project_root>/node_modules/parcel-bundler/src/Bundler.js:298:14)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:189:7)

【问题讨论】:

【参考方案1】:

解决方案

删除.parcel-cachedist 文件夹并再次运行命令。 (注意:缓存文件夹在 Parcel 的 1.x 版本中仅称为 .cache。)

提案

为此添加清理脚本并在每次构建包裹之前运行它:

 "scripts": 
   "cleanup": "rm -rf .parcel-cache dist",
   "dev": "npm run cleanup && parcel ./index.html",
   ...
 

【讨论】:

以上是关于从项目中删除文件时包裹捆绑器“ENOENT:没有这样的文件或目录”的主要内容,如果未能解决你的问题,请参考以下文章

如何处理包裹中的输出文件

如何将 Service Worker 库 (MSW) 与 Parcel 捆绑器一起使用

删除捆绑包后的 symfony 致命错误

如何获取从应用商店和 iTunes 连接中删除的 iOS 应用捆绑 ID?

捆绑科尔多瓦应用程序时删除资产

从 Xcode 管理器上传构建到 iTunes Connect 时出错