无法使用 ant 和闭包编译器编译 javascript,因为 Jquery 的 $ 是未声明的
Can't compile javascript using ant and closure compiler because of Jquery's $ is undeclared
我正在尝试让 Google 闭包编译器来编译使用 Jquery 的 JavaScript 代码,但我不断得到变量 $ 未声明有没有办法让它看到 $ 变量。有没有办法让闭包编译器看到 Jquery 库但不编译它。这是我的蚂蚁脚本
<?xml version="1.0"?>
<project basedir="." default="compile">
<taskdef name="jscomp" classname="com.google.javascript.jscomp.ant.CompileTask"
classpath="build/compiler.jar"/>
<target name="compile">
<jscomp compilationLevel="simple" warning="verbose"
debug="false" output="output/file.js">
<sources dir="${basedir}/src">
<file name="js.js"/><!-- the file I'm trying to compile -->
</sources>
</jscomp>
</target>
</project>
我的 Jquery 库叫做 min.js 它位于带有 js 的 src 文件夹中.js
我确定这是一个简单的问题,但我只是错过了一些东西。提前感谢!
你需要包含 jQuery externs。jQuery的每个主要版本都有自己的extern文件。您可以在以下位置找到它们 http://code.google.com/p/closure-compiler/source/browse/#svn%2Ftrunk%2Fcontrib%2Fexterns
下载适当的 extern 后,以下是编译时引用它的方式:
<?xml version="1.0"?>
<project basedir="." default="compile">
<taskdef name="jscomp" classname="com.google.javascript.jscomp.ant.CompileTask"
classpath="build/compiler.jar"/>
<target name="compile">
<jscomp compilationLevel="simple" warning="verbose"
debug="false" output="output/file.js">
<sources dir="${basedir}/src">
<file name="js.js"/><!-- the file I'm trying to compile -->
</sources>
<externs dir="${basedir}/src">
<file name="jquery-1.7.js"/>
</externs>
</jscomp>
</target>
似乎您的默认外部实习生不包括在您的情况中。
此链接将使您更好地了解:https://developers.google.com/closure/compiler/docs/api-tutorial3#externs
相关文章:
- 任何人都知道IE7设置或更新/补丁,它可以防止IE因为jquery错误而无法加载页面
- 无法使用 ant 和闭包编译器编译 javascript,因为 Jquery 的 $ 是未声明的
- JQuery 验证 - 如何检测“&”键(只允许“&”而不是“7”,因为两个键码都是“55”)
- 函数崩溃,因为太多迭代jQuery
- jQuery的事件处理程序运行良好,但应该't,因为它's不在ready()函数中
- 在 JavaScript 中选择孩子,因为我不能使用 jQuery
- $(..).工具提示不起作用,因为 jQuery 1.9.2 由于旧的 jQuery UI 1.8.16 库而不起作用?
- 如何在Javascript/jQuery中访问此JSON数据,因为它是动态生成的
- Jquery on event 不与选择器一起工作,因为它与 Jquery(document) 一起工作
- 流沙jquery插件放大元素,因为它们缓和.为什么
- jQuery - 合并 ajax 请求,因为它们被拆分并替换数据
- Meteor 无法使用 JQuery 激活元素,因为模板渲染了来自 MongoDB 的数据
- 逐渐降低不透明度,因为元素是通过jQuery UI .draggable()拖动的
- 如何使下拉菜单关闭,因为同一类的另一个下拉菜单在jquery / javascript中打开
- jQuery滑块不“;滑动”;因为jQuery/UI版本不同
- Jquery-双击时遇到问题,因为类中发生了更改
- jQuery滚动偏移,因为标题固定
- jQuery(. .).Plugin不是一个函数,因为js文件没有加载
- jQuery buttonset刷新不工作,因为我'
- 页面出现Javascript错误,因为加载了jQuery