首页 > 解决方案 > TypeError:无法读取 null 的属性“绑定”

问题描述

我有一个带有 react native @0.48.3 的现成移动应用程序,在其中我将把一个 web 应用程序与 webpack 捆绑在一起,但是在运行 webpack 时出现这个错误我猜这是版本的问题,但我找不到哪个是导致此错误:

   Module build failed (from ./node_modules/babel-loader/lib/index.js):
    TypeError: Cannot read property 'bindings' of null
    at Scope.moveBindingTo

这是我的 package.json 文件

   "dependencies": {
    "react": "16.0.0-alpha.12",
    "react-dom": "16.0.0-alpha.12",
    "react-native": "0.48.3",

    },
  "devDependencies": {
  "@babel/cli": "^7.0.0",
  "@babel/core": "^7.0.0",
  "@babel/plugin-transform-react-jsx-source": "^7.2.0",
  "@babel/preset-env": "^7.4.4",
  "@babel/preset-react": "^7.0.0",
  "babel-core": "^7.0.0-bridge.0",
   "babel-jest": "^21.0.2",
  "babel-loader": "^8.0.5",
  "babel-plugin-transform-es2015-block-scoping": "^6.26.0",
  "babel-preset-react-native": "5.0.1",
  "jest": "21.1.0",
  "metro-react-native-babel-preset": "^0.47.0",
  "react-test-renderer": "16.0.0-alpha.12",
  "regenerator-runtime": "^0.13.2",
  "url-loader": "^1.1.2",
  "webpack": "^4.28.4"
 },
 "jest": {
 "preset": "react-native"
  }

这是我的 babel.config.js

 module.exports = {
    presets: ["module:metro-react-native-babel-preset","@babel/preset- 
    env"],
    plugins: ["@babel/plugin-proposal-object-rest-spread","@babel/plugin- 
    transform-react-jsx-source","transform-es2015-block-scoping"]
  };

标签: react-nativewebpack

解决方案


更新你的 package.json 脚本,确保你使用的@babel/env不是--presets=env上一个版本。

"scripts": {
 "build": "babel ./src --out-dir ./build --presets=@babel/env",
}

这是重要的部分--presets=@babel/env


推荐阅读