Reaction服务器端呈现意外令牌、JSX和Babel [英] React Serverside rendering Unexpected token, JSX and Babel
本文介绍了Reaction服务器端呈现意外令牌、JSX和Babel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我找不到正确的使用Babel的方法来允许我在服务器端使用JSX。
对于巴别塔,Node-JSX已弃用。似乎应该使用babel-core/register
,但我仍然收到意外的令牌问题。
我使用我遇到的问题创建了回购。
https://github.com/pk1m/Stackoverflow-helpme
当我运行node app
或npm run watch-js
时,不断收到引用JSX代码‘<;’的意外标记。
我怎样才能让Babel传递JSX,或者我完全说错了,谢谢。
推荐答案
您需要使用babel-register
(npm i babel-register --save
)。并在您的服务器上运行:
require('babel-register')({
stage: 0
});
如果您没有使用实验性的巴别塔功能,则可以省略阶段0。此外,您可能更喜欢将这些选项放在.babelrc
中。
请注意,它将仅对调用该命令后所需的文件起作用(因此它不会影响您将其包含在其中的文件)。
您还可以在.babelrc
文件中包含预设和其他选项。
对于巴别塔6x:
npm i babel-register babel-preset-es2015 babel-preset-react --save
require('babel-register')({
presets: ['es2015', 'react']
});
注意:还有阶段0-2预置。
查看您在Package.json中所写的内容,您可以尝试使用facebook在备注here中建议的cli命令(或者使用webpack):
babel --presets react es2015 --watch app/ --out-dir build/
这篇关于Reaction服务器端呈现意外令牌、JSX和Babel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文