Я пытаюсь использовать babel для трансляции в ES6 и JSX для тестов мокко.Ошибка `invalid mapping`, пытающаяся использовать babel, требует перехвата и polyfill с реакцией jsx transpile
Предположим, что мы имеем test.jsx
так:
var React = require("react");
React.createClass({
render: function(){
return (<div>Hello World</div>);
}
});
Запуск babel test.jsx
дает действительный преобразованный код. Нет проблем.
Я бы ожидать, что если я создаю test.js
файл так:
require("babel/register");
require("./test.jsx");
, а затем запустить node test.js
, было бы transpile мой JSX для меня в очереди, но вместо этого я получаю сообщение об ошибке:
c:\Users\user\dev\app\node_modules\babel\node_modules\babel-core\lib\babel\t
ransformation\file\index.js:628
throw err;
^
Error: c:/Users/user/dev/app/test.jsx: Invalid mapping: {"generated":{"line"
:6,"column":11},"source":"c:/Users/user/dev/app/test.jsx","name":null}
at SourceMapGenerator_validateMapping [as _validateMapping] (c:/Users/user/dev/app/node_modules\babel\node_modules\source-map\lib\source-map\source-map-
generator.js:275:15)
at SourceMapGenerator_addMapping [as addMapping] (c:/Users/user/dev/app/
node_modules\babel\node_modules\source-map\lib\source-map\source-map-generator.j
s:105:14)
at SourceMap.mark (c:/Users/user/dev/app/node_modules\babel\node_modules
\babel-core\lib\babel\generation\source-map.js:65:9)
at CodeGenerator.print (c:/Users/user/dev/app/node_modules\babel\node_mo
dules\babel-core\lib\babel\generation\index.js:236:16)
at NodePrinter.plain (c:/Users/user/dev/app/node_modules\babel\node_modu
les\babel-core\lib\babel\generation\node\printer.js:16:27)
at CodeGenerator.ReturnStatement (c:/Users/user/dev/app/node_modules\bab
el\node_modules\babel-core\lib\babel\generation\generators\statements.js:120:13)
at CodeGenerator.print c:/Users/user/dev/app/node_modules\babel\node_mo
dules\babel-core\lib\babel\generation\index.js:238:22)
at NodePrinter.plain (c:/Users/user/dev/app/node_modules\babel\node_modu
les\babel-core\lib\babel\generation\node\printer.js:16:27)
at CodeGenerator.printJoin (c:/Users/user/dev/app/node_modules\babel\nod
e_modules\babel-core\lib\babel\generation\index.js:286:13)
at NodePrinter.sequence (c:/Users/user/dev/app/node_modules\babel\node_m
odul
es\babel-core\lib\babel\generation\node\printer.js:23:27)
Согласно документам, похоже, что это должно сработать. Я пропустил что-то очевидное, или я должен сообщить об этом как об ошибке в babel?
Я сожалею, я должен отметить, что я уже отдал свою папку node_modules, и схватил последнюю версию Вавилонского (5.6.3). Я попробовал еще раз, но все не изменилось. –
Это определенно было для меня проблемой нисходящей зависимости, поэтому я рад видеть, что другие сообщают о подобных ошибках. Похоже, что [email protected] должен исправить эту проблему, но babel все еще тянет в 1.2.2 на моей коробке? Может быть, babel нужно привязать к [email protected]? –
Можете ли вы посмотреть версию, имеющуюся в 'node_modules/babel/node_modules/babel-core/node_modules/acorn-jsx/package.json'? Это должно быть «1.0.3». У вас где-то есть кеш реестра NPM? – loganfsmyth