javascript - 防止默认添加 deps.js

标签 javascript google-closure-library

我正在尝试为我的网络应用程序的 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/

相关文章:

javascript - 跨设备/浏览器分配一致的 GA clientId 有何负面影响

javascript - Foundation 只响应一定的宽度

javascript - 忽略 Google Closure 中一个文件的编译器警告

javascript - 如何将 wro4j 与 Closure 库和编译器一起使用?

javascript - 获取调整大小后的图像的 clientWidth 和 clientHeight

javascript - 使用 typeahead.js 创建可点击的动态链接

javascript - 字符串到数字然后返回到 JavaScript 中的字符串加密/解密

javascript - 绑定(bind)到 ngFor 内的对象数组,将所有输入绑定(bind)在一起

javascript - Uncaught ReferenceError : require is not defined

wysiwyg - 谷歌关闭编辑器/所见即所得