Javascript babel "TypeError: Невозможно прочитать 'привязки' свойства null" при попытке переноса - PullRequest
2 голосов
/ 16 мая 2019

Я студент, который отчаянно пытается выучить JavaScript.

Используя PhpStorm, насколько я понимаю, когда я изменяю исходный файл javascript, у меня есть этот файловый наблюдатель ( babel ), который выполняет какую-то магию и помещает эти файлы немного преобразованными вдругая папка (dist), так что Gulp может «скомпилировать» все, и приложение может быть запущено.Но всякий раз, когда я изменяю файл вместо магического события, у меня появляется "TypeError: Невозможно прочитать 'bindings' свойства null" , и я не понимаю, почему.

Что я пробовал:

  • Мой учитель (он вроде бесполезен) сказал мне изменить конфигурацию так, чтобы она была babel.cmd, а не babel, потому что я нахожусь на окнах, но это не сработало.

  • Я почти полностью удалил и переустановил все на этом этапе, и все до последней версии, я верю.

  • Я попытался установитьв моем файле .babelrc предварительно установлено значение "@ babel / preset-env", но это тоже не сработало.

Мой файл .babelrc

{
  "presets": ["@babel/preset-env"]
}

Мой пакет.json file

{
  "name": "battleship",
  "version": "0.0.1",
  "devDependencies": {
    "@babel/cli": "^7.4.4",
    "@babel/core": "^7.4.4",
    "@babel/preset-env": "^7.4.4",
    "babel-jest": "^24.8.0",
    "babel-loader": "^7.1.5",
    "babel-preset-env": "1.6.1",
    "gulp": "^4.0.2",
    "jest": "^24.8.0",
    "tar": "^4.4.8"
  },
  "scripts": {
    "test": "jest"
  },
  "dependencies": {
    "babel-core": "^6.26.3",
    "babel-polyfill": "6.26.0",
    "browserify": "16.1.1",
    "core-js": "^3.0.1",
    "fstream": "^1.0.12",
    "glob": "7.1.2",
    "md5": "2.2.1",
    "npm": "^6.9.0",
    "vinyl-source-stream": "2.0.0",
    "webpack": "^2.7.0"
  },
  "jest": {
    "browser": true,
    "modulePathIgnorePatterns": [
      "<rootDir>/js/__mocks__"
    ],
    "setupFiles": [
      "./setup-jest.js"
    ],
    "transform": {
      "^.+\\.jsx?$": "babel-jest"
    }
  }
}

Подробная информация об ошибке

Я не совсем понимаю, к чему относится это свойство "bindings" и что я должен изменить в этом, я не сделалкод в любом свойстве, называемом связыванием ..

cmd.exe /D /C call C:\Users\lande\Documents\js_Battleship\node_modules\.bin\babel.cmd js\controllers\StatController.js --out-dir dist --source-maps --presets env
TypeError: Cannot read property 'bindings' of null
    at Scope.moveBindingTo (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\scope\index.js:864:13)
    at convertBlockScopedToVar (C:\Users\lande\Documents\js_Battleship\node_modules\babel-plugin-transform-es2015-block-scoping\lib\index.js:139:13)
    at PluginPass.VariableDeclaration (C:\Users\lande\Documents\js_Battleship\node_modules\babel-plugin-transform-es2015-block-scoping\lib\index.js:26:9)
    at newFn (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\visitors.js:193:21)
    at NodePath._call (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\path\context.js:53:20)
    at NodePath.call (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\path\context.js:40:17)
    at NodePath.visit (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\path\context.js:88:12)
    at TraversalContext.visitQueue (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\context.js:118:16)
    at TraversalContext.visitQueue (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\context.js:124:21)
    at TraversalContext.visitQueue (C:\Users\lande\Documents\js_Battleship\node_modules\@babel\traverse\lib\context.js:124:21)

Process finished with exit code 1

1 Ответ

1 голос
/ 16 мая 2019

Это вызвано несоответствием зависимостей между 6 и 7. В настоящее время вы, похоже, установили оба.

Попробуйте удалить babel-core, babel-polyfill и babel-preset-env из ваших зависимостей в package.json.

Если вам нужно babel-polyfill, вам следует вместо этого установить пакет версии 7, который был переименован в @babel/polyfill.

...