A simple module to extract html/script/style from a vuejs '.vue' file (can minimize/es2015 compliant js) ... just py2 or py3, NO nodejs !
Project description
vbuild
"Compile" your VueJS components (*.vue) to standalone html/js/css ... python only, no need of nodejs. And you can use python components with vbuild, in your vue/sfc files !!!
It's just an utility to extract HTML(template), SCRIPT and STYLE from a VUE/SFC component (*.vue). It won't replace webpack/nodejs/vue-cli, it fills the "Sometimes you have to work with the tools you have, not the ones you want." gap.
Features
- NO node-js stack, only pure python (py2 or py3 compliant)
- NEW 0.6.0 Ability to use python components
- Components can be styled with SASS or LESS ccs-pre-processors !
- Provide a JS-minimizer (ES5 compliant JS, via closure)
- Ability to post process stuff, with your own processors
- Respect VueJs specs (at least one template tag, many style (scoped or not) tags)
templates
are converted to a<script type="text/x-template" id="XXX"></script>
(not converted to JS)- Unittested (coverage 100%)
import vbuild
c=vbuild.render("mycompo.vue")
#c=vbuild.render("vues/*.vue")
#c=vbuild.render( "c1.vue", "c2.vue" )
#c=vbuild.render( "c1.vue", "vues/*.vue" )
print( c.html )
print( c.script )
print( c.style )
#or
print( c ) # all stuff in html tags
Main Goal
Its main purpose is to let you use components (.vue files) in your vuejs app, without a full nodejs stack. It's up to you to create your generator, to extract the things, and create your "index.html" file. It's a 4 lines of python code; example:
import vbuild
buf=readYourTemplate("index.tpl") # should contains a tag "<!-- HERE -->" that would be substituted
buf=buf.replace("<!-- HERE -->",str( vbuild.render( "vues/*.vue" ) ) )
writeYourTemplate("index.html",buf)
(a real example of rendering vue/sfc components, using vbuild and the marvelous wuy)
Vue/sfc component compatibility
All classical JS vue/sfc components are compatibles. But now, you can use python component too.
Here is, side by side, the same component (in js, and in python):
To use the full features of vbuild
If you want to use the full features, you'll need to install the optionnal's libs.
sudo pip install pyscss lesscpy closure
All theses libs works with py2 and/or py3, and you could use the ccs-pre-processors SASS and LESS, and closure to minify js.
TODO
- more utilities
- more rock solid version
- and docs !
- add pyscss lesscpy closure to pip setup.py (optionnal's modules)
- see the TODO list for python components too
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
File details
Details for the file vbuild-0.7.1.tar.gz
.
File metadata
- Download URL: vbuild-0.7.1.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.1.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 074b24c07691845e2a7fcb5965c19207c14e083db464e553f0f122bb050078d0 |
|
MD5 | 527ce2b92c6588593df3de7280bc3fdf |
|
BLAKE2b-256 | 04b1848f3dc67947faee609cb3c555994a3c752923eb7b526f84fdc72087ddf3 |
File details
Details for the file vbuild-0.7.1-py2.py3-none-any.whl
.
File metadata
- Download URL: vbuild-0.7.1-py2.py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.1.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db037704a550261ca4f42d44dfc4330a0ab4c71f010fbafd1fdbfae3a72d8dba |
|
MD5 | 899a968bd11075dce0ba9727bf678115 |
|
BLAKE2b-256 | 06a9104be578b8429c1a4482158b29ef75ddfbb11fe31995be4fce95871c02d6 |