Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 闭包编译器es6 let关键字_Javascript_Java_Ecmascript 6_Google Closure Compiler - Fatal编程技术网

Javascript 闭包编译器es6 let关键字

Javascript 闭包编译器es6 let关键字,javascript,java,ecmascript-6,google-closure-compiler,Javascript,Java,Ecmascript 6,Google Closure Compiler,我无法用googleclosurecompiler编译带有let关键字的简单Javascript代码 我的Javascript文件example.js: 函数显示(){ 让a=‘你好’; console.log(一个“世界”); } 显示(); 我要编译的JAVA代码是: 包编译器; 导入静态com.google.javascript.jscomp.SourceFile.fromCode; 导入静态com.google.javascript.jscomp.SourceFile.fromInpu

我无法用googleclosurecompiler编译带有
let
关键字的简单Javascript代码

我的Javascript文件
example.js

函数显示(){
让a=‘你好’;
console.log(一个“世界”);
}
显示();
我要编译的JAVA代码是:

包编译器;
导入静态com.google.javascript.jscomp.SourceFile.fromCode;
导入静态com.google.javascript.jscomp.SourceFile.fromInputStream;
导入静态java.nio.charset.charset.defaultCharset;
导入java.io.IOException;
导入java.io.InputStream;
导入java.net.URI;
导入java.net.URISyntaxException;
导入java.nio.file.Files;
导入java.nio.file.Path;
导入java.nio.file.path;
导入java.util.ArrayList;
导入java.util.Collections;
导入java.util.List;
导入java.util.stream.collector;
导入com.google.javascript.jscomp.compileLevel;
导入com.google.javascript.jscomp.Compiler;
导入com.google.javascript.jscomp.CompilerOptions;
导入com.google.javascript.jscomp.CompilerOptions.LanguageMode;
导入com.google.javascript.jscomp.JSError;
导入com.google.javascript.jscomp.Result;
导入com.google.javascript.jscomp.SourceFile;
公共类编译器{
公共静态void main(字符串[]args)抛出URISyntaxException、IOException{
最终字符串脚本=readScript();
最终编译器=新编译器();
最终编译器选项选项=新编译器选项();
//编译级别。简单优化。设置编译级别的选项(选项);
编译级别。高级优化。设置编译级别的选项(选项);
options.setContinueAfterErrors(true);
options.setLanguageIn(LanguageMode.ecmascript 6);
options.setLanguageOut(LanguageMode.ECMASCRIPT5);
options.setExternExports(true);
System.out.println(“编译:\n”+脚本);
System.out.println(“-----------------------------------”);
最终列表externs=new ArrayList();
add(externsourcefiles6(“base.js”);
add(externsourcefiles6(“es6_runtime.js”);
//add(externsourcefiles6(“runtime_type_check.js”);
最终列表输入=新的ArrayList();
最终源文件src=fromCode(“stdin.txt”,脚本);
输入。添加(src);
最终结果=compiler.compile(外部、输入、选项);
System.out.println(“-----------------------------------”);
最终JSError[]错误=result.errors;
如果(errors.length>0){
for(JSError错误:errors){
System.err.println(error.toString());
}
}否则{
System.out.println(compiler.toSource());
}
}
私有静态源文件externsourcefiles6(最终字符串文件名)引发IOException{
final InputStream InputStream=CompilerMain.class
.getResourceAsStream(“/com/google/javascript/jscomp/js/”+文件名);
从inputstream返回(文件名,inputstream,defaultCharset());
}
私有静态字符串readScript()引发URI语法异常,IOException{
最终URI=CompilerMain.class.getResource(“/compiler/example1.js”).tori();
最终路径=Path.get(uri);
返回文件.readAllLines(path).stream().collect(收集器.joining(“\n”));
}
}
输出为:

Compiling:
function display() {
    let a = 'hello';
    console.log( a, 'world' );
}
display();
------------------------------
mars 22, 2017 4:48:02 PM com.google.javascript.jscomp.LoggerErrorManager println
GRAVE: ERROR - Missing externs definition for Symbol. Did you forget to include the ES6 externs?

mars 22, 2017 4:48:02 PM com.google.javascript.jscomp.LoggerErrorManager printSummary
AVERTISSEMENT: 1 error(s), 0 warning(s), 75.0% typed
------------------------------
JSC_MISSING_ES6_EXTERNS. Missing externs definition for Symbol. Did you forget to include the ES6 externs? at (unknown source) line (unknown line) : (unknown column)
Maven dependency可能会帮助您:


com.google.javascript
闭包编译器
v20170124

请告知

您需要通过调用添加适当的外部设置。编译器需要外部语言。

您需要通过调用添加适当的外部语言集。编译器需要外部语言。

我根本不是Java开发人员,但这会有帮助吗<代码>导入com.google.javascript.jscomp.*我感谢你的努力,但它没有解决任何问题。Regardstab在黑暗中,但您是否应该包含“es6.js”而不是“es6_runtime.js”?我没有从我的google closure编译器依赖项中看到
es6.js
文件我根本不是Java开发人员,但这会有帮助吗<代码>导入com.google.javascript.jscomp.*我感谢你的努力,但它没有解决任何问题。Regardstab在黑暗中,但您是否应该包含“es6.js”而不是“es6_runtime.js”?我没有看到我的google closure编译器依赖项中的
es6.js
文件,我添加到以下行:
final Environment env=options.getEnvironment();最终列表externs=AbstractCommandLineRunner.getBuiltinExterns(env)我添加到以下行:
最终环境env=options.getEnvironment();最终列表externs=AbstractCommandLineRunner.getBuiltinExterns(env)