我有一个Flask应用程序正在生产环境中运行。现在它有一个很大的丑陋的js文件,我想将其拆分并改写成类似Coffeescript之类的东西。我考虑使用Flask-Cake之类的东西来简化CoffeeScript的编译。但是,我不知道这样的东西在生产环境下如何工作。我应该在部署之前编译coffeescript文件的脚本,对吧?我从未在这种特定布局的系统上工作过--未编译的服务器端但已编译的客户端。这里的标准程序是什么?
您可能正在寻找 Flask-Assets。
以下为该网站的示例:
from flask import Flask
from flask.ext.assets import Environment, Bundle
app = Flask(__name__)
assets = Environment(app)
js = Bundle('jquery.js', 'base.js', 'widgets.js',
filters='jsmin', output='gen/packed.js')
assets.register('js_all', js)
static
文件夹中的 jquery.js
, base.js
和 widgets.js
文件,并通过 jsmin
进行处理,然后将结果保存在 static / gen / packed.js
中。默认情况下,每当源文件更改时都会发生此编译。在生产环境中,监视文件的成本较高(需要在服务器上安装coffeescript编译器!),因此有一个配置值可以禁用监视。另一个插件是 Flask-Makestatic ,它更轻量级,但在我看来也不那么强大。看看DukPy吧!它是一个简单的Python JavaScript解释器,可以编译CoffeeScript
、TypeScript
、BabelJS
和JSX
。使用非常简单:
import dukpy
dukpy.coffee_compile("CoffeeScript goes here!")
DukPy是Python-CoffeeScript包的继承者,后者已不再维护。