0

I'm running python (2.7) with Flask with webassets (0.9) and i done all the steps described in the docs for running dustjs, but all results in an empty file. The strangest thing is that when I run dusty directly in the dir with my templates it works fine.

Here is my configs.

myapp.py

assets_env = Environment(app)

assets.py

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

templates/index.html

4

1 回答 1

2

前几天我遇到了类似的问题,虽然我用的不是烧瓶,而是金字塔。

您是否尝试过将第一个 Bundle 参数从“dust/*”更改为“dust”?我相信 webassets 直接将此参数传递给dusty,并且dusty 期望父模板目录的目录路径作为输入,而不是单个模板名称。

但是,如果您传递一个目录,如果缓存打开,最新版本的 webassets 可能会出错,因为缓存管理代码不需要第一个参数的目录;我只是禁用缓存来解决这个问题。如果您禁用缓存,您还必须提供不同的机制来存储清单(如果您正在使用需要清单的功能,请参阅文档)。

此外,我必须在bundle 中添加一个depends="dust/" 参数(如果需要,添加更多子目录//*)以让webassets 在进行更改时重新生成模板。

所以我建议添加这些配置参数:

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

并将捆绑实例化更改为:

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

希望未来版本的网络资产能够更好地与dustjs 集成。主要问题似乎是尘土飞扬,需要一个目录。

于 2013-11-06T21:53:45.423 回答