[英]How can I tell Closure compiler that something exists in a separate file?
我有一个包含library.js
和mycode.js
的项目。 我的代码包括
let x = new LibraryObject ();
我尝试通过抱怨的Google Closure运行mycode.js
ERROR - variable LibraryObject is undeclared
当给出-W VERBOSE
标志时。
我可以将两个文件连接到libraryandmycode.js
但是由于libraryandmycode.js
,我想将它们分开。 我想声明LibraryObject
在mycode.js
但后来我得到一个“非法重声明变量”的错误。
如果不修改library.js
,我可以在mycode.js
中添加一些内容来确定LibraryObject
存在,但无需重新声明吗?
这不会在浏览器中引起任何问题,但我希望分别通过每个文件以及将它们合并在一起时通过验证。
其标准是,无论是单独解析两个脚本,还是将两个脚本组合在一起,在严格解释下都不会产生错误。
这可能吗?
Extern文件用于向编译器提供有关编译中未包含的符号的类型信息。 Extern文件是有效的JavaScript,但仅包含类型定义-请勿尝试使用库本身。
使用--externs
标志将extern文件传递给编译器。
编译器项目包含几个extern文件 。 也可以自己编写 。
如果您在寻找示例,则jQuery extern维护得很好。
这就是我的工作方式。
java -jar closure-compiler-v20160713.jar
The compiler is waiting for input via stdin.
let a= new Test ();
^Z
var a=new Test;
我绝对没有声明Test()。 您使用的是其他版本吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.