我有一个使用谷歌关闭的应用程序。当我创建一个组件时,我在deps.js文件中添加了这段代码:
goog.addDependency('path/to/my/component.js', ['My.Component'], [
'goog.ui.Component',
'another.one.dependency'
]);
然后我创建component.js文件:
goog.provide('My.Component');
My.Component = function() {
...
}
有效。但是当我使用closure builder闭包构建器创建构建时,忽略goog.addDependency代码并且它不包含构建中的依赖项。所以,如果我想在构建中包含dependecies,我应该在component.js中添加goog.require():
goog.provide('My.Component');
goog.require('goog.ui.Component');
goog.require('another.one.dependency');
My.Component = function() {
...
}
这对我来说很不方便,因为我已经有超过一百个文件在他们的代码中没有得到goog.require()语句。
答案 0 :(得分:1)
由于Closurebuilder本身计算依赖关系,因此您需要使用requires。
您不需要在每个文件中都需要所有内容,例如,如果您在主文件中需要goog.ui.Component,则所有组件都可以访问它。
对于开发,我建议使用Plovr。它还可以动态计算依赖关系,因此您无需担心在开发时生成deps文件。