Javascript 如何在没有gulp/grunt/webpack的情况下为node.js应用程序使用google closure compiler js?
没有任何单独使用的例子,但他们确实这样说: 除非您使用的是Gulp或Webpack插件,否则您需要通过标志指定代码。jsCode和extern都接受一个数组,其中包含{src,path,sourceMap}形式的对象。通过使用path,您可以构建一个虚拟文件系统,用于ES6或CommonJS导入,但对于CommonJS,请确保将processCommonJsModules设置为true 我根据文档创建了一个“compile.js”文件:Javascript 如何在没有gulp/grunt/webpack的情况下为node.js应用程序使用google closure compiler js?,javascript,node.js,google-closure-compiler,Javascript,Node.js,Google Closure Compiler,没有任何单独使用的例子,但他们确实这样说: 除非您使用的是Gulp或Webpack插件,否则您需要通过标志指定代码。jsCode和extern都接受一个数组,其中包含{src,path,sourceMap}形式的对象。通过使用path,您可以构建一个虚拟文件系统,用于ES6或CommonJS导入,但对于CommonJS,请确保将processCommonJsModules设置为true 我根据文档创建了一个“compile.js”文件: const compile = require('goog
const compile = require('google-closure-compiler-js').compile;
const flags = {
jsCode: [{path: './server/server.js'}],
processCommonJsModules: true
};
const out = compile(flags);
console.info(out.compiledCode);
在我的“/server/server.js”文件中,我放置了一个console.log
,但它没有输出。不知道从这里去哪里…借用
在我看来,这条路径并不打算像您正在使用的那样被使用
引述:
使用path
,您可以构建一个虚拟文件系统,用于ES6或CommonJS导入,但对于CommonJS,请确保设置processCommonJsModules:true
所以你必须扩展你自己的资源,当你走这条路的时候,webpack和gulp必须为你做些什么
files=['./server/server.js']
files.map(f => {
const out = compile({
jsCode: [{ src: f.content }],
assumeFunctionWrapper: true,
languageIn: 'ECMASCRIPT5'
});
return out;
}
你的console.info输出什么?我根本没有输出。当我使用标志
jsCode:[{src:'const x=1+2;'}]
时,我得到了“var x=3;”。谢谢,我得到了一些有用的东西,但它没有检测到任何类型错误或未使用的变量。它只是输出丑陋的代码fs.readFile('./server/server.js',utf8',(err,data)=>{const flags={jsCode:[{src:data}],assumeFunctionWrapper:true,languageIn:'ecmascript 6'};const out=compile(flags);console.info(out.compiledCode);})代码>这必须是正确答案。“jsCode”接受的JSON记录中的“path”键的一个用途是用于错误/警告报告。例如,compile({jsCode:[{src:file.content,path:file.path}]})返回一个包含“errors”和“warnings”键的JSON对象。它们中的每一个都有一个“file”键,该键将引用上述示例中的指定路径。如果未指定路径,则“文件”值将使用用户友好程度较低的默认值。