几年前我使用闭包框架和编译器编写了一个JavaScrip应用程序。它使用goog.require,goog.provides和goog.inherits很多,并且使用旧的python脚本正常工作来构建它。
我希望它再次运行,所以我更新了库和编译器并使用了我的旧make脚本。但是得到这个。
Closure Compiler现在可以理解并命令Closure 依赖关系并且优先使用此脚本执行 JavaScript编译。请迁移您的代码库。看到: https://github.com/google/closure-compiler/wiki/Managing-Dependencies
我阅读了提供的链接,没有看到任何错误。所以我用这个替换了脚本。
java -jar C:/closure/closure-compiler-v20160713.jar --output_manifest _manifest.txt
--compilation_level ADVANCED_OPTIMIZATIONS --js M*.js
--js_output_file _M_min.js
它编译得很好,但是在运行时我会收到诸如......之类的错误。
_M_min.js?v=4:23 Uncaught ReferenceError: goog is not defined
_M_min.js?v=4:54 Uncaught TypeError: Cannot read property 'extend' of undefined
我认为编译器展开了所有这些并且不需要在运行时包含goog库?
如果我确实将库包含在" js / goog / base.js"我得到goog.yb不是一个功能,等等。但我真的不认为我需要这样做。
我做错了什么。
答案 0 :(得分:1)
我认为存在多个问题:
goog.require
就可以了。goog.provide
和strict
,则需要CAST ((julianday(clockOUT) - julianday(clockIN)) * 24 AS REAL) AS HoursWorked
模式。