首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我怎样才能加载我自己的js模块与goog.provide和goog.require?

我怎样才能加载我自己的js模块与goog.provide和goog.require?
EN

Stack Overflow用户
提问于 2018-05-21 05:23:53
回答 2查看 0关注 0票数 0

我们正试图将我们项目的包装从dojo切换到google关闭,但迄今为止我们还没有运气。下面是一个简单的例子,说明了我们正在努力实现的目标:

代码语言:javascript
复制

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script type="text/javascript" src="runtime/src/core/lib/goog-rev26/base.js"></script>
        <script>
            goog.require("foo.bar");
            function main() {foo.bar.echo("hello world")}
        </script>
    </head>
<body onload="main()">
</body>
</html>

然后在/foo/bar.js我有:

代码语言:javascript
复制

goog.provide("foo.bar");
foo.bar.echo = function(s) {console.debug(s);}

我收到的错误如下:

代码语言:javascript
复制
goog.require could not find: foo.bar
foo is not defined

当我查看Net选项卡时,没有用于获取文件的http请求。我想在封闭库生成一个脚本标记来获取bar.js

EN

回答 2

Stack Overflow用户

发布于 2018-05-21 13:55:54

你可以使用依赖生成脚本calcdeps.py以下几种模式之一:

  1. 生成deps.js文件
  2. 将所有内容连接成单个文件,可选择使用闭包编译器编译它。

对于开发,你应该使用1,因为它允许你在编辑JS源代码后不运行calcdeps.py,除非你对依赖关系树进行更改。

票数 0
EN

Stack Overflow用户

发布于 2018-05-21 15:12:59

要创建你的deps.js,需要使用-d标志。例如:

代码语言:javascript
复制
python path-to-closure-library/closure/bin/calcdeps.py -i path-to-your-src/requirements.js -o deps -d path-to-closure-library/closure/ -p path-to-your-src/ --output_file=path-to-your-src/deps.js

编译:

代码语言:javascript
复制
python path-to-closure-library/closure/bin/calcdeps.py -i path-to-your-src/requirements.js -d path-to-closure-library/closure/ -p ./ --output_file=path-to-your-release/scripts.min.js -c path-to-compiler/compiler.jar -f "--compilation_level=ADVANCED_OPTIMIZATIONS" -f "--debug=true" -f "--process_closure_primitives=true" -f "--manage_closure_dependencies=true" -o compiled

所以这个过程实际上现在变得简单多了,但是你必须使用你的ESP的能力来找出它的完全没有记录的东西。calcdeps.py现在也不适用于Windows 3.1上的Python 3.1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档