5
使用reify
創建JavaScript對象時,如何使用^:export
標記方法,以便Google Closure編譯器不會在高級模式下重命名它們?如何使用^:export標記用`reify`創建的方法,以便Closure編譯器不重命名它們?
例如:
(reify
Object
(foo [this] ...)
(bar [this] ...))
我已經試過
(reify
Object
(^:export foo [this] ...)
(^:export bar [this] ...))
但這似乎並沒有幫助,而且名字仍然可以憑藉先進的優化改變。
如果沒有辦法做到這一點,我怎樣才能構建一個JavaScript對象的方法,除了創建一個普通的js-obj
和使用set!
設置功能屬性(我不知道如何防止高級破壞事物的優化)?