我很难找到使用babel的正确方法,允许我在服务器端使用jsx.
对于babel,Node-jsx已被弃用.似乎babel-core / register应该被使用但我仍然会遇到意想不到的令牌问题.
我创建了一个具有问题的回购.
https://github.com/pk1m/Stackoverflow-helpme
当我运行节点应用程序或npm运行watch-js时,我不断获得指向JSX代码’<'的意外令牌. 我如何让babel转向JSX,或者我完全离开了,谢谢.
你需要使用babel-register(npm i babel-register –save).并在您的服务器上运行:
原文链接:https://www.f2er.com/react/301142.htmlrequire('babel-register')({ stage: 0 });
如果您没有使用实验性的babel功能,则可以省略第0阶段.您也可以选择将这些选项放在.babelrc中.
请注意,它仅适用于调用后所需的文件(因此它不会对您包含它的文件产生影响).
您还可以在.babelrc文件中使用预设和其他选项.
对于babel 6x:
npm i babel-register babel-preset-es2015 babel-preset-react --save require('babel-register')({ presets: ['es2015','react'] });
注意:还有0-2阶段预设.
为了观察你在package.json中写的内容,你可以尝试一个CLI命令,就像Facebook在here中建议的那样(或者使用webpack):
babel --presets react es2015 --watch app/ --out-dir build/