You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ParcelJs构建React项目时找不到'dict/dict.txt'文件求助

问题:Parcel运行npm start时提示找不到dict.txt文件

我跟着教程在Google App Script中构建React项目,运行npm start时Parcel抛出如下错误:

Error: ENOENT: no such file or directory, open 'D:\websites\dict\dict.txt'
    at Object.openSync (node:fs:585:3)
    at Object.readFileSync (node:fs:453:35)
    at makeCompression (D:\websites\#Projects\print-bill\node_modules\lmdb\dist\index.cjs:2047:19)
    at Object.open (D:\websites\#Projects\print-bill\node_modules\lmdb\dist\index.cjs:2057:25)
    at new LMDBCache (D:\websites\#Projects\print-bill\node_modules\@parcel\cache\lib\LMDBCache.js:81:34)
    at resolveOptions (D:\websites\#Projects\print-bill\node_modules\@parcel\core\lib\resolveOptions.js:125:168)
    at async Parcel._init (D:\websites\#Projects\print-bill\node_modules\@parcel\core\lib\Parcel.js:218:27)
    at async Parcel.watch (D:\websites\#Projects\print-bill\node_modules\@parcel\core\lib\Parcel.js:315:7)
    at async run (D:\websites\#Projects\print-bill\node_modules\parcel\lib\cli.js:351:9) {
  errno: -4058,
  syscall: 'open',
  code: 'ENOENT',
  path: 'D:\\websites\\dict\\dict.txt'
}

我的package.json文件内容如下:

{
  "name": "print-bill",
  "version": "1.0.0",
  "description": "Simple Web App with Google App Script to generate and print bill",
  "scripts": {
    "g:init": "clasp create --title 'Print Bill' --rootDir ./app-script",
    "g:login": "clasp login",
    "g:logout": "clasp logout",
    "g:clone": "clasp clone {id} --rootDir ./app-script",
    "g:pull": "clasp pull",
    "g:push": "clasp push",
    "g:start": "clasp push --watch",
    "start": "parcel src/index.html --dist-dir ./app-script",
    "build": "parcel build src/index.html --dist-dir ./app-script"
  },
  "keywords": [],
  "author": "TXHENG",
  "license": "ISC",
  "devDependencies": {
    "@types/google-apps-script": "^1.0.57",
    "clasp": "^1.0.0",
    "parcel": "^2.8.3"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-router-dom": "^6.8.2"
  },
  "targets": {
    "main": false
  }
}

解决方案

  • 确认文件路径:先检查D:\websites\dict\dict.txt是否存在。如果不存在,手动创建一个空的dict.txt文件;如果路径错误,排查是否有环境变量或配置错误指向了这个位置。
  • 清理Parcel缓存:Parcel的LMDB缓存可能异常,执行命令清理缓存:
    Linux/macOS:
    rm -rf .parcel-cache
    
    Windows(PowerShell):
    Remove-Item -Recurse -Force .parcel-cache
    
  • 指定Parcel缓存目录:修改package.json的启动脚本,把缓存目录指定到项目内部,避免访问外部路径:
    先安装cross-env兼容多系统:
    npm install cross-env --save-dev
    
    然后更新start脚本:
    "start": "cross-env PARCEL_CACHE_DIR=./.parcel-cache parcel src/index.html --dist-dir ./app-script",
    
  • 更新Parcel版本:当前使用的Parcel 2.8.3可能存在bug,尝试更新到最新稳定版:
    npm install parcel@latest --save-dev
    

内容的提问来源于stack exchange,提问作者XH栩恒

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:12:13