在谷歌闭包编译器中使用模块

时间:2015-06-11 14:58:08

标签: javascript compiler-errors google-closure-compiler

我只是想让基本模块正常工作:

testA.js:

goog.module('foo');

exports.bar = function(){
  console.log('here');
};

testB.js:

var bar = goog.require('foo.bar');
bar();

我正在跑步:

java -jar ~/Downloads/compiler.jar --js testA.js testB.js

产生:

testB.js:1: ERROR - Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope.
var bar = goog.require('foo.bar');
          ^

1 error(s), 0 warning(s)

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

自己回答这个问题。所以你不能正常地从正常的#34;封闭编译.js文件,仅来自模块文件,该文件似乎被定义为其中包含goog.module的任何文件。

因此,如果在模块中,goog.require('module')正常工作。如果不在模块中,则需要goog.module.get('module')