Javascript 如何从Nashorn的babel运行browser.js
我试图在Nashorn中运行browser.js,在库中使用babel.transform来实现一些同构的WebappJavascript 如何从Nashorn的babel运行browser.js,javascript,java,reactjs,babeljs,nashorn,Javascript,Java,Reactjs,Babeljs,Nashorn,我试图在Nashorn中运行browser.js,在库中使用babel.transform来实现一些同构的Webapp 在我的项目中运行npm i babel core 以下是巴别塔变压器等级的来源: public BabelTransformer() throws ScriptException, IOException{ try { ScriptEngineManager mgr = new ScriptEngineManager(); Scrip
public BabelTransformer() throws ScriptException, IOException{
try
{
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine nashorn = mgr.getEngineByName("nashorn");
nashorn.eval("var process = {env:{}}"); // node-modules expect that
nashorn.eval("var global = this;"); // react expects that
nashorn.eval(getScript("com/facebook/babel/jvm-npm.js"));
nashorn.eval(getScript("com/facebook/babel/node_modules/babel-core/browser.min.js")); //The line 43
babel = (ScriptObjectMirror)nashorn.eval("babel");
invocable = (Invocable) nashorn;
}
catch(ScriptException | IOException e)
{
throw new Error(e); //this is line 49
}
}
Testcase: testTransformOnHtmlElement(com.facebook.babel.BabelTransformerTest): Caused an ERROR
javax.script.ScriptException: <eval>:1:1 Expected ; but found error
^ in <eval> at line number 1 at column number 1
java.lang.Error: javax.script.ScriptException: <eval>:1:1 Expected ; but found error
^ in <eval> at line number 1 at column number 1
at com.facebook.babel.BabelTransformer.<init>(BabelTransformer.java:49)
at com.facebook.babel.BabelTransformerTest.setUp(BabelTransformerTest.java:16)
Caused by: javax.script.ScriptException: <eval>:1:1 Expected ; but found error
^ in <eval> at line number 1 at column number 1
at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:467)
at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:534)
at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:521)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399)
at jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at com.facebook.babel.BabelTransformer.<init>(BabelTransformer.java:43)
Caused by: jdk.nashorn.internal.runtime.ParserException: <eval>:1:1 Expected ; but found error
^
at jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:292)
at jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:277)
at jdk.nashorn.internal.parser.AbstractParser.expectDontAdvance(AbstractParser.java:348)
at jdk.nashorn.internal.parser.AbstractParser.expect(AbstractParser.java:335)
at jdk.nashorn.internal.parser.Parser.endOfLine(Parser.java:3369)
at jdk.nashorn.internal.parser.Parser.expressionStatement(Parser.java:1162)
at jdk.nashorn.internal.parser.Parser.statement(Parser.java:969)
at jdk.nashorn.internal.parser.Parser.sourceElements(Parser.java:775)
at jdk.nashorn.internal.parser.Parser.program(Parser.java:711)
at jdk.nashorn.internal.parser.Parser.parse(Parser.java:284)
at jdk.nashorn.internal.parser.Parser.parse(Parser.java:250)
at jdk.nashorn.internal.runtime.Context.compile(Context.java:1281)
at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:1248)
at jdk.nashorn.internal.runtime.Context.compileScript(Context.java:629)
at jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:532)
Testcase:testTransformonHtmlement(com.facebook.babel.babeltTransformerTest):导致错误
javax.script.ScriptException::应为1:1;但是发现了错误
^在第1行第1列中
java.lang.Error:javax.script.ScriptException::应为1:1;但是发现了错误
^在第1行第1列中
在com.facebook.babel.babelttransformer上。(babelttransformer.java:49)
在com.facebook.babel.babelttransformertest.setUp(babelttransformertest.java:16)
原因:javax.script.ScriptException::1:1应为;但是发现了错误
^在第1行第1列中
位于jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:467)
位于jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:534)
位于jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:521)
位于jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:399)
位于jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:155)
位于javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
在com.facebook.babel.babelttransformer上。(babelttransformer.java:43)
原因:jdk.nashorn.internal.runtime.ParserException::1:1应为;但是发现了错误
^
位于jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:292)
位于jdk.nashorn.internal.parser.AbstractParser.error(AbstractParser.java:277)
位于jdk.nashorn.internal.parser.AbstractParser.expectDontAdvance(AbstractParser.java:348)
位于jdk.nashorn.internal.parser.AbstractParser.expect(AbstractParser.java:335)
位于jdk.nashorn.internal.parser.parser.endOfLine(parser.java:3369)
位于jdk.nashorn.internal.parser.parser.expressionStatement(parser.java:1162)
位于jdk.nashorn.internal.parser.parser.statement(parser.java:969)
位于jdk.nashorn.internal.parser.parser.sourceElements(parser.java:775)
位于jdk.nashorn.internal.parser.parser.program(parser.java:711)
位于jdk.nashorn.internal.parser.parser.parse(parser.java:284)
位于jdk.nashorn.internal.parser.parser.parse(parser.java:250)
位于jdk.nashorn.internal.runtime.Context.compile(Context.java:1281)
位于jdk.nashorn.internal.runtime.Context.compileScript(Context.java:1248)
位于jdk.nashorn.internal.runtime.Context.compileScript(Context.java:629)
位于jdk.nashorn.api.scripting.NashornScriptEngine.compileImpl(NashornScriptEngine.java:532)
在Nashorn中运行browser.js应该怎么做?以BOM开头的文件会有问题吗?你能试试巴别塔的
browser.js
吗-core@Ok谢谢我要试试看;抱歉,这就是我所能想到的:(无论如何,谢谢:当我稍微修改代码时,我发现了一个奇怪的行为: