2013-11-03 74 views
0

我正在運行帶有webassets(0.9)的Flask的python(2.7),並且我在docs 中執行了運行dustjs所描述的所有步驟,但所有步驟都會生成一個空文件。最奇怪的是,當我用模板直接在dir中運行灰塵時,它工作正常。dustjs + webassets結果爲空編譯文件

這是我的configs。

myapp.py

assets_env = Environment(app) 

assets.py

common_dust = Bundle("dust/*", filters='dustjs', output='gen/dust_compiled.js') 

模板/ index.html的

回答

2

我遇到類似的問題,有一天,雖然我不使用燒瓶,而是金字塔。

您是否嘗試過改變從「粉塵/ *」第一包參數只是「塵埃」?我相信webassets直接將這個參數傳遞給塵土飛揚,塵土飛揚期望一個到父模板目錄的目錄路徑作爲輸入,而不是單獨的模板名稱。

如果傳遞的目錄,但是,webassets的最新版本,如果緩存被開啓,因爲高速緩存管理代碼,沒想到第一個參數目錄給出錯誤;我只是禁用緩存來解決這個問題。如果禁用緩存,還必須提供用於存儲體現不同的機制(如果你使用的是需要體現的特點,見docs)。

此外,我必須添加depends =「dust/」參數來捆綁(如果需要,添加更多子目錄//*)以使Webasset在更改時重新生成模板。

所以我建議將這些配置參數:

assets_env.cache = False 
assets_env.manifest = "file:gen/dusty.manifest" 

和更改包實例化:

common_dust = Bundle("dust", filters='dustjs', depends="dust/*", output='gen/dust_compiled.js') 

希望webassets的未來版本將發揮與dustjs集成更好。主要的問題似乎是塵土飛揚,需要一個目錄。

+1

感謝您的幫助:) 兩週前我開了一個bug(https://github.com/miracle2k/webassets/issues/276)和miracle2k同意有問題,但是直到那時纔有發展。 – bozhidarc