Reaction服务器端呈现意外令牌、JSX和Babel [英] React Serverside rendering Unexpected token, JSX and Babel

查看:14
本文介绍了Reaction服务器端呈现意外令牌、JSX和Babel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我找不到正确的使用Babel的方法来允许我在服务器端使用JSX。

对于巴别塔,Node-JSX已弃用。似乎应该使用babel-core/register,但我仍然收到意外的令牌问题。

我使用我遇到的问题创建了回购。

https://github.com/pk1m/Stackoverflow-helpme

当我运行node appnpm 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆