我正在尝试让 Google Closure Compiler 编译我使用 Jquery 的 javascript 代码,但我一直在获取变量 $ is undeclared 是否有办法让它看到 $ 变量。有没有办法让闭包编译器看到 Jquery 库但不编译它。 这是我的 Ant 脚本
<?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.js 位于 src 文件夹中
我确定这是一个简单的问题,但我只是遗漏了一些东西。提前致谢!
最佳答案
您需要包含 jQuery 外部函数。 jQuery 的每个主要版本都有自己的外部文件。您可以在 http://code.google.com/p/closure-compiler/source/browse/#svn%2Ftrunk%2Fcontrib%2Fexterns 找到它们
一旦您下载了适当的外部文件,下面是您在编译时如何引用它:
<?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>
关于javascript - 无法使用 ant 和闭包编译器编译 javascript,因为 Jquery 的 $ 未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976849/