5

我有一个正在生产中运行的 Flask 应用程序。现在它有一个又大又丑的 js 文件,我想将它分解并用 Coffeescript 之类的东西重写。我正在考虑使用Flask-Cake之类的东西来简化 CoffeeScript 编译。但是,我不知道这样的东西如何用于生产。我可能应该有一个在部署之前编译咖啡脚本文件的脚本,对吧?我从未在具有这种特定布局的系统上工作过——未编译的服务器端但已编译的客户端。这里的标准程序是什么?

4

2 回答 2

7

您可能正在寻找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)

这将自动连接jquery.jsbase.jswidgets.js在您的static文件夹中,将它们通过管道传输jsmin并将结果保存在static/gen/packed.js.

默认情况下,此编译总是在源文件之一更改时发生。在生产环境中查看文件在生产环境中有点昂贵(并且需要在服务器上安装咖啡脚本编译器!),因此有一个配置值可以禁用监视。

Flask-Makestatic是另一个更轻量级的插件,但在我的经验中也没有那么强大。

于 2013-09-22T08:12:24.637 回答
0

看看DukPy它是一个简单的 Python javascript 解释器,可以编译CoffeeScript、和. 用法很简单:TypeScriptBabelJSJSX

import dukpy

dukpy.coffee_compile("CoffeeScript goes here!")

DukPy 是Python-CoffeeScript包的继承者,不再维护。

于 2022-02-28T12:13:33.773 回答