错误:捆绑失败:TypeError:无法读取未定义的属性“transformFile”,React Native
Posted
技术标签:
【中文标题】错误:捆绑失败:TypeError:无法读取未定义的属性“transformFile”,React Native【英文标题】:error: bundling failed: TypeError: Cannot read property 'transformFile' of undefined, React Native 【发布时间】:2020-07-03 09:15:05 【问题描述】:每当我运行 react-native start 时都会收到此错误,但最近我在节点模块中安装了 firebase-tools 和 stripe 后开始出现此错误,但在此之前它运行得很好,这里也是错误的堆栈跟踪:
::ffff:127.0.0.1 - - [22/Mar/2020:19:59:30 +0000] "GET /index.bundle?platform=android&dev=true&minify=false HTTP/1.1" 500 - "-" "okhttp/3.12.1"
error: bundling failed: TypeError: Cannot read property 'transformFile' of undefined
at C:\Users\me\Project\node_modules\react-native\node_modules\@react-native-community\cli\node_modules\metro\src\Bundler.js:87:34
at Generator.next (<anonymous>)
at asyncGeneratorStep (C:\Users\me\Project\node_modules\react-native\node_modules\@react-native-community\cli\node_modules\metro\src\Bundler.js:14:24)
at _next (C:\Users\me\Project\node_modules\react-native\node_modules\@react-native-community\cli\node_modules\metro\src\Bundler.js:34:9)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
这是我的 package.json:
"name": "Project",
"version": "0.0.1",
"private": true,
"scripts":
"android": "react-native run-android",
"ios": "react-native run-ios",
"start": "react-native start",
"test": "jest",
"lint": "eslint ."
,
"dependencies":
"card-validator": "6.2.0",
"firebase-tools": "7.15.1",
"jetifier": "^1.6.5",
"prop-types": "15.7.2",
"react": "^16.13.1",
"react-art": "^16.13.1",
"react-dom": "^16.13.1",
"react-geocode": "0.2.1",
"react-native": "0.61.5",
"react-native-country-picker-modal": "1.9.8",
"react-native-elements": "1.2.7",
"react-native-firebase": "5.6.0",
"react-native-geocoding": "0.4.0",
"react-native-gesture-handler": "1.5.2",
"react-native-maps": "0.26.1",
"react-native-paper": "3.2.1",
"react-native-reanimated": "1.4.0",
"react-native-restart": "0.0.14",
"react-native-shadow": "^1.2.2",
"react-native-svg": "12.0.3",
"react-native-vector-icons": "6.6.0",
"react-native-web": "^0.9.13",
"react-navigation": "4.0.10",
"react-navigation-drawer": "2.3.3",
"react-navigation-stack": "1.10.3",
"stripe": "^8.33.0",
"tipsi-stripe": "7.5.1",
"typescript": "^3.8.3"
,
"devDependencies":
"@babel/core": "7.7.4",
"@babel/runtime": "7.7.4",
"@react-native-community/eslint-config": "0.0.5",
"babel-jest": "24.9.0",
"eslint": "^5.0.0",
"jest": "24.9.0",
"metro-react-native-babel-preset": "0.56.3",
"react-test-renderer": "16.9.0"
,
"jest":
"preset": "react-native"
我也很清楚另一个在 *** 上存在相同问题的问题,但该问题的解决方案对我不起作用,因为 npm 在我运行 react-native start 时忽略了它,因为这些模块已被弃用,我仍然遇到同样的错误
【问题讨论】:
我刚才遇到了同样的问题,删除package-lock.json
和node_modules
并重新启动应用程序对我有用。检查一次
删除 package-lock.json 也对我有用(我在更新 npm 后遇到了这个问题)
【参考方案1】:
将 NodeJS 降级到 LTS 版本总是有帮助的。我在尝试使用 NodeJS^17 时遇到了同样的问题,但是当我将其降级到 NodeJS^14 并重新安装 node_modules 时,一切都已修复。
【讨论】:
这适用于我使用 nodejs 16,当前 LTS 版本【参考方案2】:该问题下的第一条评论中的解决方案对我有用,即删除 node_modules 和 package-lock.json,但是,我不想这样做,因为我知道我会遇到更多错误,而且果然我确实如此,但至少我能够修复它们并让它运行,这与我询问的顽固错误不同。所以是的,这种方法有效,但我绝对希望有人有更好的方法。
【讨论】:
没有为我做任何事情,所以一定有更好的方法...... @FMaz008 试试下面这个解决方案【参考方案3】:我遇到了这个错误。我做了两件事,我认为这导致我解决了这个问题:
我在 monorepo 中工作,所以我将以下代码添加到我的package.json
:
"workspaces":
"nohoist": [
"react-native",
"react-native/**",
"react",
"react/**"
]
我将我的 metro-react-native-babel-preset
软件包从 ^0.58.0
升级到最新版本 - ^0.59.0
(yarn add -D metro-react-native-babel-preset
)
【讨论】:
【参考方案4】:这是一个旧线程,但我想贡献一下,因为它是在搜索“无法读取未定义的属性 'transformFile'”时出现在 Google 中的第一个线程。
这可能不是永久修复,因为它似乎在安装新依赖项时突然出现,我也在使用 Expo。
为了解决这个问题,我一直在安装依赖项,然后使用 yarn-upgrade-all 通过您的 package.json 并将它们全部升级到最新版本。这显然会导致冲突,但就我的使用而言,它正在工作(到目前为止)并且不需要像删除文件夹或文件这样的激烈操作。
【讨论】:
【参考方案5】:我对 Nodejs 版本 17.1.0 有同样的问题。刚刚卸载它并重新安装 Nodejs 版本 16.13.0。
【讨论】:
【参考方案6】:我遇到了同样的问题。我正在运行 npm v7。和节点 v10。我将两者都升级到了最新版本,它开始工作了。
【讨论】:
【参考方案7】:当我在 Metro config 中使用内联 require 进行性能优化时,发生了这个错误。
我解决了这个问题,将 Metro 配置属性“blacklist”更改为“blockList”:
return
preloadedModules: moduleMap,
transform: inlineRequires: blockList: moduleMap ,
【讨论】:
以上是关于错误:捆绑失败:TypeError:无法读取未定义的属性“transformFile”,React Native的主要内容,如果未能解决你的问题,请参考以下文章
模块构建失败:TypeError:无法读取未定义的属性“上下文” - Webpack
模块构建失败:TypeError:无法读取 Object.module.exports 处未定义的属性“上下文”
模块构建失败:TypeError:无法读取未定义的属性“sassLoader”