您当前的位置: 首页 >  Python

彭世瑜

暂无认证

  • 3浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python:Flask-Assets打包js和css文件

彭世瑜 发布时间:2021-04-14 11:52:21 ,浏览量:3

  • PyPI: https://pypi.org/project/Flask-Assets/
  • Github: https://github.com/miracle2k/flask-assets
  • Doc: https://flask-assets.readthedocs.io/
  • Doc: https://webassets.readthedocs.io/

Flask-Assets 基于 webassets,个人感觉是Python版的webpack

安装
pip install Flask-Assets
使用示例

目录结构

.
├── __init__.py
├── run.py                     # 入口文件
├── static
│   ├── css
│   │   ├── common-1.css
│   │   ├── common-2.css
│   │   └── common.css        # 打包后的css文件
│   └── js
│       ├── common-1.js
│       ├── common-2.js
│       └── common.js         # 打包后的js文件
└── templates
    └── index.html

run.py

# -*- coding: utf-8 -*-

from flask import Flask, render_template
from flask_assets import Environment, Bundle

app = Flask(__name__)

# 调试环境不打包
app.config['ASSETS_DEBUG'] = True

# 打包配置
assets_env = Environment(app)

common_js = Bundle(
    'js/common-1.js',
    'js/common-2.js',
    filters='jsmin',
    output='js/common.js')

common_css = Bundle(
    'css/common-1.css',
    'css/common-2.css',
    filters='cssmin',
    output='css/common.css')

# 注册打包文件
assets_env.register('common_js', common_js)
assets_env.register('common_css', common_css)


# 路由
@app.route('/')
def hello_world():
    return render_template('index.html')


if __name__ == '__main__':
    app.run(debug=True)

static/css/common-1.css

.box-1{
    color: red;
}

static/css/common-2.css

.box-2{
    color: grey;
}

static/js/common-1.js

function foo1() {

}

static/js/common-2.js

function foo2() {

}

templates/index.html

{% assets "common_js" %}
                
关注
打赏
1665367115
查看更多评论
0.1010s