Flask extension for connecting and managing webpack assets
Project description
What is Flask-Manage-Webpack?
A Flask extension that connect and manage your webpack generated assets.
Flask-Manage-Webpack
reads a manifest.json file auto-generated by webpack-manifest-plugin
,
and out of the box it made possible to:
- Import your assets via
webpack_url_for()
in your templates. - Browser caching via hash tagging.
- Code splitting and dynamic import().
- Compatible with Content-Security-Policy:
e.g. script-src: 'nonce-<random-value>
- Working with CDN, and static host provider such as
Netlify
for making your Webpack build process automated. - Extending the functionality by using Webpack.
Quick start
Install: pip install Flask-Manage-Webpack
from flask import Flask
from flask_manage_webpack import FlaskManageWebpack
app = Flask(__name__.split(".")[0])
# Register Extension
manage_webpack = FlaskManageWebpack()
manage_webpack.init_app(app)
Initialize Webpack Config:
- Run
flask manage-webpack --app your_flask_app
- It will generate config files for webpack.
Run Webpack: npm start
For more info, checkout the demo app inside example folder.
How to import assets in HTML?
Import your main stylesheet to HTML:
<link rel="stylesheet" href="{{ webpack_url_for('main_css.css') }}">
Import your main JavaScript to HTML:
<script id="main_js" src="{{ webpack_url_for('main_js.js') }}"></script>
What about images, and other files?
- Put your images to
assets/img/
or to your preferred folder structure. - In HTML, import your image via relative path:
<img src="{{ webpack_url_for('img/something.jpg') }}">
Config Variables:
MANAGE_WEBPACK_MANIFEST_PATH
defaults tostatic/manifest.json
MANAGE_WEBPACK_ASSETS_URL
: Your static url domain name. Defaults toNone
MANAGE_WEBPACK_MANIFEST_URL
: Your absolute manifest.json url. This is useful if you wish to host you manifest.json file in a remote server, and if you like to automate your Webpack build process by hosting it to such service likeNetlify
. i.e.https://example.com/manifest.json
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for Flask-Manage-Webpack-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57609b431a1e4a9fa94e9d61c1be43d62c56cf23524275f2886f2fc513e87857 |
|
MD5 | 0e3389d3eb4ad8d93a8925bf7b96f386 |
|
BLAKE2b-256 | f9823512b2940f4cf8a952756195e6a9607e23176f3a2afc3da58d88f0ec816b |
Hashes for Flask_Manage_Webpack-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d926a3e75143b403b3c33d1608f2745fcf312b54ec1bb42133d821d5cf577efd |
|
MD5 | 6945d75350600b7c47c6fbe030024b01 |
|
BLAKE2b-256 | ca74b958868e3d2afdd82fc0ab5850ec06c20fba24ab87038adaea6efacc68e5 |