将 React 与 Nashorn 一起使用会抛出“ReferenceError: 'console' is not d
Using React with Nashorn throws "ReferenceError: "console" is not defined"
我正在使用"react": "~0.12.2"
和以下代码:
@RequestMapping("/")
@ResponseBody
private String home() throws ScriptException, IOException {
loadReact();
InputStream jsStream = resourceLoader.getResource("classpath:public/js/server.js").getInputStream();
engine.eval(new InputStreamReader(jsStream));
return engine.eval("renderServerside()").toString();
}
private void loadReact() throws ScriptException, IOException {
InputStream jsStream = resourceLoader.getResource("classpath:public/lib/react/react.js").getInputStream();
// React expects 'window' or 'global' to be set
engine.eval("var global = this");
engine.eval(new InputStreamReader(jsStream));
}
我的服务器.js如下所示:
function renderServerside() {
var MyComponent = React.createClass({
render: function () {
return React.DOM.h1(null, 'Hi, ' + this.props.msg)
}
});
return React.renderComponentToString(MyComponent({msg: 'World!'}));
}
并得到这个异常:
javax.script.ScriptException: ReferenceError: "console" is not defined in <eval> at line number 18108] with root cause
jdk.nashorn.internal.runtime.ECMAException: ReferenceError: "console" is not defined
那么纳斯霍恩怎么能不提供控制台呢?
我厌倦了实现此页面中的基本示例:与 Nashorn 一起反应
Rhino之前也没有提供。您可以使用类似的东西实现自己的控制台
console = {
log: print,
warn: print,
error: print
};
要获得完整的控制台支持,您可能需要添加更多功能。请参阅:控制台
相关文章:
- 未捕获的ReferenceError:$未定义
- ReferenceError: not defined
- ReferenceError: cordova is not defined @ng-cordova.min.js:7
- 为什么JavaScript抛出'未捕获的ReferenceError:var未定义'定义var时
- Node.js错误“;ReferenceError:全局未定义“;在从0.10.2更新到0.12.2之后
- 未捕获的ReferenceError:未定义VM1299:1(匿名函数)
- React ReferenceError:未定义文档
- ReferenceError: $firebase is not defined
- 未捕获的ReferenceError:webkitNotifications未定义
- 尝试将js函数更改为coffeescript时发生Uncaught ReferenceError
- Web用户控件中Javascript的ReferenceError
- ReferenceError: crimeID is not defined
- Rails Uncaught ReferenceError:$$未定义为升级到jquery
- 懒惰加载插件抛出Uncaught ReferenceError
- 未捕获的ReferenceError:未定义测试(函数)
- 未捕获的ReferenceError:未在单击时定义
- ReferenceError:未定义角度
- Ionic应用程序在部署后给出ReferenceError:未定义Promise
- Uncaught ReferenceError:尝试在Android网络视图中访问时未定义函数
- ReferenceError:require未在javascript中定义