在 Chrome 裡按「F12」, Console 裡看到了兩行錯誤訊息:
- Uncaught Error: Undefined nameToPath for goog.soy.data.SanitizedContentKind
- Uncaught TypeError: Object #<Object> has no method 'start'
main()
File "E:\limejs\closure\closure/bin/build/closurebuilder.py", line 203, in mai
n
tree = depstree.DepsTree(sources)
File "E:\limejs\closure\closure\bin\build\depstree.py", line 56, in __init__
raise NamespaceNotFoundError(require, source)
depstree.NamespaceNotFoundError: Namespace "goog.soy.data.SanitizedContentKind" never provided. Required in Source E:\limejs\lime\src\helper\soyutils_usegoog.js
上網找了半天,沒找到相關問題的解決方法。想說,問題看起來是在 「goog.soy.data.SanitizedContentKind」,索性先將 limejs 中「closure」目錄先改個目錄名稱,然後再執行底下指令:
python bin\lime.py init
對 lime.py 來說,因為找不到「closure」目錄,上面的「init」讓 lime.py 去重新下載 Google 的「closure」,並重新掃瞄整個目錄樹,更新「Closure deps file」。
下載並更新完「closure」,再打開遊戲網頁,問題果然迎刃而解。
LimeJS 的文件中好像沒有提到更新的程序,根據這次的經驗是:
- 取得 LimeJS ,覆蓋原有的檔案
- 將「closure」目錄刪除
- 執行 bin\lime.py init
有空再找找是否有「一鍵更新」的方法。
沒有留言:
張貼留言