Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 闭包编译器:表达式不可调用_Javascript_Google Closure Compiler_Google Closure Library - Fatal编程技术网

Javascript 闭包编译器:表达式不可调用

Javascript 闭包编译器:表达式不可调用,javascript,google-closure-compiler,google-closure-library,Javascript,Google Closure Compiler,Google Closure Library,我已经有一段时间没有在编译器中使用闭包库+高级模式了。我的汇编正在输出以下内容: ({})(); 我得到这个警告: Error: index.js:4: WARNING - {} expressions are not callable app.main.start(); ^ 在使用base.js的开发模式下,一切都可以正常工作。以下是我的设置: // index.js -> let compiler know app entry point goog.provide('app.ma

我已经有一段时间没有在编译器中使用闭包库+高级模式了。我的汇编正在输出以下内容:

({})();
我得到这个警告:

Error: index.js:4: WARNING - {} expressions are not callable 
app.main.start();
^
在使用base.js的开发模式下,一切都可以正常工作。以下是我的设置:

// index.js -> let compiler know app entry point
goog.provide('app.main.start');

goog.require('app.main');
app.main.start();
实际应用程序从这里开始

// app.js
goog.provide('app.main');

goog.require('goog.dom.fullscreen');
// ... other goog.requires

/**
 *
 */
app.main.start = function(){
    // ... app definition. 
    // see https://github.com/formigone/html5multiplayer/blob/master/megaman/closure/game.js
};
下面是我如何使用Gulp编译的

gulp.task('build', function () {
    gulp.src(['index.js', 'app.js', 'src/**/*.js', 'node_modules/closure-library/closure/goog/**/*.js'])
        .pipe(closureCompiler({
            compilerPath: '/usr/local/google-closure/compiler.jar',
            fileName: '../dist/app.min.js',
            compilerFlags: {
                closure_entry_point: 'app.main.start',
                compilation_level: 'ADVANCED_OPTIMIZATIONS',
                define: [
                    "goog.DEBUG=false"
                ],
                only_closure_dependencies: true,
                warning_level: 'VERBOSE',
                create_source_map: 'app.comp.js.map'
            }
        }));
});

即使是在简单的优化中,app.main也只是一个空白的对象文字。

我认为您需要显示app.main.start的内容。假设它显示的是console.log'here';这里的假设是您有一个输入错误,而您在这里的描述没有显示它。你能构建一个复制案例来展示完整的代码吗?我已经编辑了这个问题,添加了一个链接到托管该回购协议的地方:你在问题中的示例与实际回购协议不匹配。在repo中,您有rokko.main.play inside index.html,但您从未将该信息传递给编译器,编译器会假设它是死代码,并将其忽略。