【发布时间】:2015-01-14 19:04:12
【问题描述】:
我在 python 项目中使用 nunjucks 模板化前端。 Nunjucks 模板必须在生产中进行预编译。我不在 nunjucks 模板中使用扩展或异步过滤器。比起使用 grunt-task 来监听我的模板的变化,我更喜欢使用 nunjucks-precompile 命令(通过 npm 提供)将整个模板目录扫描到 templates.js 中。
这个想法是在 setup.py 中执行 nunjucks-precompile --include ["\\.tmpl$"] path/to/templates > templates.js 命令,这样我就可以简单地搭载我们的部署脚本的常规执行。
我发现 a setuptools override 和 a distutils scripts argument 可能有正确的用途,但我不太确定这两种方法是否是最简单的执行方法。
另一种方法是使用subprocess 直接在 setup.py 中执行命令,但我已被警告不要这样做(恕我直言)。我不太明白为什么不这样做。
有什么想法吗?肯定?确认?
更新 (04/2015): - 如果您没有可用的 nunjucks-precompile 命令,只需使用 Node Package Manager 安装 nunjucks,如下所示:
$ npm install nunjucks
【问题讨论】:
标签: python setuptools nunjucks