首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsx传递给了react-dom/服务器renderToString

jsx传递给了react-dom/服务器renderToString
EN

Stack Overflow用户
提问于 2018-05-02 02:19:28
回答 1查看 599关注 0票数 0

我正在尝试理解react-dom/server。

我有一个react应用程序,使用express作为服务器。

我有一条快速路线,如下所示:

代码语言:javascript
复制
var server = app.listen(3000);
app.get('/test', (req, res) => {                       
  const context = {}
  const html = ReactDOMServer.renderToString(
      <h1>foo</h1>
  )  
  if (context.url) {
    res.writeHead(302, {
      Location: context.url
    })
    res.end()
  } else {
    res.write(html)
    res.end()
  }
});

如果我用node app-server运行服务器文件,我会得到这样的错误:

代码语言:javascript
复制
      <h1>adasd</h1>
      ^
SyntaxError: Unexpected token <

我根据下面的示例将JSX传递给了renderToString:https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/StaticRouter.md

如何使express服务器文件处理此JSX代码?

对于客户端,我使用带有babel加载器的webpack,它工作得很好。

EN

回答 1

Stack Overflow用户

发布于 2018-05-02 20:53:50

感谢@azium。

解决方案是首先使用babel-cli转换ES6/JSX文件。

我使用了这个babel-cli command

代码语言:javascript
复制
npx babel --no-babelrc script.js --out-file script-compiled.js --presets=es2015,react

npx 用于“执行npm包二进制文件”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50121687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档