import com.google.javascript.jscomp.CompilationLevel; import com.google.javascript.jscomp.Compiler; import com.google.javascript.jscomp.CompilerOptions; import com.google.javascript.jscomp.SourceMap; import com.google.javascript.jscomp.SourceMap.Format; import java.io.FileOutputStream; import java.io.OutputStream; public class SourceMapDemo { public static void main(String[] args) { try { Compiler compiler = new Compiler(); CompilerOptions options = new CompilerOptions(); CompilationLevel.SIMPLE_OPTIMIZATIONS.setOptionsForCompilationLevel(options); String inputFileName = "src/main/java/OriginalCode.java"; String outputFileName = "src/main/java/CompiledCode.js"; String sourceMapFileName = "src/main/java/SourceMap.js.map"; compiler.compile(createExterns(), createInputsFromFiles(new String[]{inputFileName}), options); String sourceMapJson = compiler.getSourceMap().toJSON(); OutputStream outputStream = new FileOutputStream(outputFileName); compiler.toSource(outputStream); outputStream.close(); OutputStream sourceMapOutputStream = new FileOutputStream(sourceMapFileName); sourceMapOutputStream.write(sourceMapJson.getBytes()); sourceMapOutputStream.close(); } catch (Exception e) { e.printStackTrace(); } } private static com.google.javascript.jscomp.SourceFile[] createInputsFromFiles(String[] fileNames) { com.google.javascript.jscomp.SourceFile[] inputs = new com.google.javascript.jscomp.SourceFile[fileNames.length]; for (int i = 0; i < fileNames.length; i++) { inputs[i] = com.google.javascript.jscomp.SourceFile.fromFile(fileNames[i]); } return inputs; } private static com.google.javascript.jscomp.SourceFile[] createExterns() { return null; } }


上一篇:
下一篇:
切换中文