使用带有google-closure-compiler的外部库
Use external library with google-closure-compiler
本文关键字:外部 google-closure-compiler 更新时间:2023-09-26
我正在尝试使用谷歌闭包编译器构建我的项目。遗憾的是,我的项目使用Box2D:一个没有谷歌闭包的物理库,所以我只有一个缩小的文件与他的库的功能。
我如何构建我的项目没有错误?
下面是我的构建命令行:java -jar ../libs/closure-compiler.jar '
--compilation_level SIMPLE_OPTIMIZATIONS '
--language_in=ECMASCRIPT5_STRICT '
--warning_level VERBOSE '
--only_closure_dependencies'
--summary_detail_level 3 '
--process_closure_primitives true '
--closure_entry_point="MyProject.Main"'
--js='../src/**.js' '
--js='../libs/closure-library/**.js' '
--js='!../libs/closure-library/**_test.js' '
--js='!../libs/closure-library/**_test.js' '
--js_output_file Project.js
这里是我得到的错误:
ERROR - variable Box2D is undeclared
var col = Box2D.wrapPointer(color, Box2D.b2Color);
ERROR - variable b2_kinematicBody is undeclared
this.instance.SetType(b2_kinematicBody);
ERROR - variable b2Vec2 is undeclared
this.instance.SetLinearVelocity(new b2Vec2(x, y));
ERROR - variable b2BodyDef is undeclared
var definition = new b2BodyDef();
ERROR - variable b2FixtureDef is undeclared
var fixture = new b2FixtureDef();
ERROR - variable b2CircleShape is undeclared
var shape = new b2CircleShape();
我已经尝试添加--js='../libs/Box2D-min.js'
到我的构建脚本,错误总是在这里。
对于那些在ADVANCED模式下与Closure-Compiler不兼容的库,你需要外部定义。这在官方文档中有介绍。
extern提供给编译器时带有--externs
标志(而不是——js标志)。虽然将外部库源代码作为外部文件提供可能很诱人,但这几乎总是产生糟糕的结果。
有关创建外部的详细信息,请参见https://stackoverflow.com/a/20101173/1211524
相关文章:
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 如何使用外部Javascript库(如jQuery)重命名Google闭包样式表
- 外部SVG作为Google地图api标记-是或否
- javascript/google maps:为什么我在哪里初始化我的地图(内部与外部函数)很重要
- Google PageSpeed Insights说我的网站很重.外部模态是一种解决方案吗?
- $http提供商向 Github API 发出外部请求,但不向 Google 地图 API 发出请求
- Google Apps 脚本从外部 API 获取响应
- 将外部 JSON 加载到 Google Chrome 扩展脚本中
- 将google地理编码返回的值存储在外部javascript变量中
- 如何在Google Analytics中监控外部小工具
- 将变量传递给Google Maps事件对象.(谷歌地图多边形,外部元素悬停)
- 从外部站点访问Google Apps Scripts
- 检索源代码从外部网站(例如google.com)使用JavaScript(或jQuery)的Chrome扩展
- Google Script外部API访问403s“速率限制”
- 使用带有google-closure-compiler的外部库
- HTML/JS - Google Maps v3 -从外部链接中选择/删除标记
- Google Scripts外部电子表格数据验证
- 如何为用户创建外部javascript代码,如Google Analytics JS代码
- 将链接从iframe内部的Google文档更改为在iframe外部打开
- 在 Google Chrome 扩展程序中需要外部 JavaScript