Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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 如何在没有gulp/grunt/webpack的情况下为node.js应用程序使用google closure compiler js?_Javascript_Node.js_Google Closure Compiler - Fatal编程技术网

Javascript 如何在没有gulp/grunt/webpack的情况下为node.js应用程序使用google closure compiler 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

没有任何单独使用的例子,但他们确实这样说:

除非您使用的是Gulp或Webpack插件,否则您需要通过标志指定代码。jsCode和extern都接受一个数组,其中包含{src,path,sourceMap}形式的对象。通过使用path,您可以构建一个虚拟文件系统,用于ES6或CommonJS导入,但对于CommonJS,请确保将processCommonJsModules设置为true

我根据文档创建了一个“compile.js”文件:

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”键,该键将引用上述示例中的指定路径。如果未指定路径,则“文件”值将使用用户友好程度较低的默认值。