我正在尝试为我的网络应用程序的 javascript 使用 google 闭包库。我的 JS 脚本和闭包库位于 static
目录中:
static/
app.js
closure-library
使用闭包构建器将 JS 代码组合成单个脚本:
static/closure-library/closure/bin/build/closurebuilder.py \
> --root=./static/closure-library/ \
> --namespace="pr" \
> --output_mode=script \
> --output_file=./static/app-calc.js static/app.js
后端采用 Go 语言。上面生成的脚本包含在 HTML 中,如下所示:
<script src="/static/app-calc.js"></script>
但是,一旦页面加载,deps.js
就会添加到 DOM 中的上述脚本标记之后:
<script type="text/javascript" src="deps.js"></script>
由于添加此文件时没有任何前面的路径,因此浏览此文件以使用当前应用程序 URL 加载此脚本。
有什么方法可以改变这种行为或阻止添加deps.js
?
据我所知,由于整个库已合并为一个文件,因此不需要该文件。关闭docs关于 depswriter 提到路径与 base.js
相同,但由于 base.js
甚至不包含在内,我不知道这对应用程序有何影响。
最佳答案
Closurebuilder 已被弃用,您应该直接使用闭包编译器。请参阅How to use Google Closure compiler其中涵盖了您的许多问题。关于Managing Dependencies的维基页面有当前详细信息。请注意,仍然有很多有关闭包编译器的旧文档尚未更新,例如 https://developers.google.com/closure/library/docs/closurebuilder 。其中一些页面仍然相关,但其他页面已经过时。 github 上的 wiki 都是最新的。
现在只需要在直接从源代码运行(无需编译)时进行调试时需要 deps.js
文件。请参阅https://github.com/google/closure-compiler/wiki/Debugging-Uncompiled-Source-Code .
编译器将能够仅获取您正在使用的闭包库的各个部分并将其与您的代码结合起来。
关于javascript - 防止默认添加 deps.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43524562/