关于CommonJS导出函数的Closure Compiler检查类型?

时间:2014-11-26 14:16:33

标签: javascript node.js google-closure-compiler commonjs

我有以下文件;第一个名为 test.js 的文件(入口点):

'use strict';
var include = require('./test.include');
console.log(include('123', 2));

第二个文件名为 test.include.js

'use strict';

/**
 * Calculates the sum of a and b.
 * @param {number} a
 * @param {number} b
 * @return {number}
 */
module.exports = function(a, b) {
    return a + b;
}

现在我使用Closure Compiler编译项目:

java -jar compiler.jar ^
--compilation_level=ADVANCED_OPTIMIZATIONS ^
--common_js_entry_module=test.js ^
--language_in=ECMASCRIPT5_STRICT ^
--jscomp_warning=checkTypes ^
--js_output_file out.js ^
--process_common_js_modules ^
*.js

编译提供无类型错误。如果我将 test.include.js 中的module.exports更改为module.exports.sum并调用该函数,则会按预期提供类型错误。这是关闭编译器中的错误或已知问题,还是我错过了设置

0 个答案:

没有答案