Python - Flask资产无法压缩我的资产文件

Wes*_*ley 3 python flask python-3.x

诺布在这里.我试图使用flask资产来处理我的javascript文件但不幸的是我的视图将所有javascript文件呈现为单独的链接而不是一个缩小的文件.

这是我的代码和文件结构.请帮我学习.

import os
from flask import Flask
from flask.ext.assets import Environment , Bundle
from main.views import main
from webassets.loaders import PythonLoader

app = Flask(__name__)
assets = Environment(app)

app.register_blueprint(main, url_prefix='/')

#Compress All Assets
js = Bundle('javascripts/main.js',
            'javascripts/plugins.js',
            'javascripts/vendor/jquery-1.9.1.min.js',
            'javascripts/vendor/modernizr-2.6.2.min.js',

            filters='jsmin', output='gen/packedjs.js')
assets.register('js_all', js)

css = Bundle('stylesheets/css/main.css',
            'stylesheets/css/normalize.css',
            filters='sass,less,cssmin', output='gen/packedcss.css')
assets.register('css_all', css)
Run Code Online (Sandbox Code Playgroud)

这是我在index.html中的代码

{% assets "css_all" %}
        <link rel="stylesheet" href="{{ ASSET_URL }}">
{% endassets %}

{% assets "js_all" %}
       <script type="text/javascript" src="{{ ASSET_URL }}"></script>
{% endassets %}
Run Code Online (Sandbox Code Playgroud)

我的css和javascript文件的文件结构.

  • 静态的
    • gen(文件夹)
  • Javascript(文件夹)
    • javascript文件1
    • javascript文件2
    • javascript文件3

小智 6

要解决此问题,请手动安装jsmin.请按以下步骤操作:

pip install jsmin
Run Code Online (Sandbox Code Playgroud)

或者你将:

easy_install jsmin
Run Code Online (Sandbox Code Playgroud)

我希望我帮助过你.要开心!

  • Flask Assets文档显然只是遗漏了那部分内容. (2认同)