Nodejs:期望的表达式,得到'<'

时间:2016-12-01 05:56:08

标签: javascript node.js deepstream.io

我目前正在使用带有nodejs的deepstream。现在,我正在按照这里的教程使用新库:deepstream tutorial

但是,一旦我完成文件的RenderDOM部分,我就会收到错误。这是当前的代码:

<!DOCTYPE html>
<html>
 <head>
<script src="deepstream.js"></script>
</head>
<body>
<input type="text" />
<script type="text/javascript">

    const deepstream = require('deepstream.io-client-js')
    const DeepstreamMixin = require('deepstream.io-tools-react')

    const client = deepstream('localhost:6020').login({}, () => {
      //ReactDOM.render call will go in here
      ReactDOM.render(
          <SyncedInput dsRecord="some-input" />,
          document.getElementById('example')
        )

        const SyncedInput = React.createClass({
          mixins: [DeepstreamMixin],
          setValue: function(e) {
            this.setState({value: e.target.value})
          },
          render: function() {
            return (
              <input value={this.state.value} onChange={this.setValue} />
            )
          }
        })
    })
    DeepstreamMixin.setDeepstreamClient(client)
</script>
</body>
</html>

错误显示在render:function:“input value”

中的这一行

1 个答案:

答案 0 :(得分:0)

您缺少React所需的依赖项。现在,由于您的javascript中找到了无效字符,因此出现错误。这些字符都是React的元语言JSX的一部分。

本教程假定您已将其设置完毕。您有两种选择:

  1. 使用Webpack预处理代码,以便将所有JSX转换为正确的JavaScript

  2. 加载浏览器转换器。有关详细信息,请参阅本教程 - https://www.sitepoint.com/getting-started-react-jsx/

  3. 我建议使用#2,因为这需要较少的设置。