繁体   English   中英

如何告诉Closure编译器单独文件中存在某些内容?

[英]How can I tell Closure compiler that something exists in a separate file?

我有一个包含library.jsmycode.js的项目。 我的代码包括

let x = new LibraryObject ();

我尝试通过抱怨的Google Closure运行mycode.js

ERROR - variable LibraryObject is undeclared

当给出-W VERBOSE标志时。

我可以将两个文件连接到libraryandmycode.js但是由于libraryandmycode.js ,我想将它们分开。 我想声明LibraryObjectmycode.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM