我目前正在维护大量的JS文件,并且依赖性问题越来越多.现在我将每个函数放在一个单独的文件中,我手动维护一个数据库来计算函数之间的依赖关系.
这我想自动化.例如,如果我有函数f
Array.prototype.f = function() {};
Run Code Online (Sandbox Code Playgroud)
在另一个函数g中引用
MyObject.g = function() {
var a = new Array();
a.f();
};
Run Code Online (Sandbox Code Playgroud)
我希望能够检测到g正在引用f.
我该怎么做?我从哪里开始?我是否需要实际编写编译器,或者我可以调整Spidermonkey吗?还有其他人已经这样做了吗?
任何指示让我开始非常感谢
谢谢Dok
我正在创建一个相当大的JavaScript库,使用Closure Compiler进行精彩的压缩以及类型检查和警告系统.
我想创建多个输出文件,因为文件是异步加载的(有些文件只是按需加载).
在源代码中查找,我找到了--module标志,以及一些相关的标志.源代码说明了以下选项:
一个javascript模块规范.格式是
<name>:<num-js-files>[:[<dep>,...][:]]].模块名称必须是唯一的.每个dep都是此模块所依赖的模块的名称.必须按依赖顺序列出模块,并且必须按相应的顺序列出js源文件.当--module国旗出现在有关--js的标志是不重要
......这就是我能找到的全部.我想更多地了解如何使用此选项,有没有人有这方面的经验?或者,如果有另一种方法来创建多个输出文件,我会全神贯注.
我不断收到给定对象不存在函数(重命名)的错误.是否有发布或设置或其他东西使它工作?
javascript compiler-construction jquery google-closure google-closure-compiler