我正在运行带有webassets(0.9)的Flask的python(2.7),并完成了docs中描述的所有步骤 用于运行dustjs,但所有结果都是空文件。最奇怪的是,当我用我的模板直接在dir中运行尘土飞扬时,它运行正常。
这是我的配置。
myapp.py
assets_env = Environment(app)
assets.py
common_dust = Bundle("dust/*", filters='dustjs', output='gen/dust_compiled.js')
模板/ index.html中
答案 0 :(得分:2)
您是否尝试将第一个Bundle参数从'dust / *'更改为'dust'?我相信webassets将这个参数直接传递给尘土飞扬,尘土飞扬要求父模板目录的目录路径作为输入,而不是单个模板名称。
但是,如果传递目录,则在启用缓存时,最新版本的webassets可能会出错,因为缓存管理代码不期望第一个参数的目录;我只是禁用缓存来解决这个问题。如果禁用缓存,则还必须提供不同的存储清单机制(如果使用需要清单的功能,请参阅docs)。
另外,我必须添加一个depends =“dust / ”参数来捆绑(如果需要,添加更多子目录/ / *)以使webassets在进行更改时重新生成模板。 / p>
所以我建议添加这些配置参数:
assets_env.cache = False
assets_env.manifest = "file:gen/dusty.manifest"
将bundle实例化更改为:
common_dust = Bundle("dust", filters='dustjs', depends="dust/*", output='gen/dust_compiled.js')
希望未来版本的webassets能够更好地与dustjs集成。主要问题似乎是尘土飞扬,需要一个目录。