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 component (*.vue) to standalone html/js/css ... python only (no need of nodejs). BTW it provides a js-minimizer (es2015 compliant code)
It's just an utility to extract HTML(template), SCRIPT and STYLE from a VUE/SFC component (*.vue). It's PURE python (py2 & py3 compatible), no nodejs ! It's fully unitested (100% !)
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.
import vbuild
sfc=vbuild.VBuild("mycompo.vue")
print( sfc.html )
print( sfc.script )
print( sfc.style )
or
import vbuild
ll=[]
ll.append( vbuild.VBuild("c1.vue") )
ll.append( vbuild.VBuild("c2.vue") )
s=sum(ll)
print( s.html )
print( s.script )
print( s.style )
You can use sass (using <style lang="scss"></style>
or <style lang="sass"></style>
) or less (using <style lang="less"></style>
) in your styles. But you'll need to install pyscss or lesscpy
By the way, the module provide a js-minimizer (to generate ES2015 compliant) (thru on the clojure online service)
js="""async function mymethod(...a) {
var f=(...a) => {let b=12}
}
"""
min=vbuild.minimize(js)
Notes:
templates
are converted to a<script type="text/x-template" id="XXX"></script>
(not converted to JS)- A Minimal component needs the
<template></template>
tag only (specs) - You can use
<style></style>
and/or<style scoped></style>
(as many as you want) - styles are minimized (remove comments and spaces)
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 5 lines of python code; example:
import vbuild,glob
r=sum([vbuild.VBuild(i) for i in glob.glob("*.vue")+glob.glob("*/*.vue")])
buf=readYourTemplate("index.tpl") # should contains a tag "<!-- HERE -->" that would be substituted
buf=buf.replace("<!-- HERE -->",str(r))
writeYourTemplate("index.html",buf)
(a real example of rendering vue/sfc components, using vbuild and the marvelous wuy)
Hope it could help ...
TODO:
- more utilities
- and docs !
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 vbuild-0.4.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca81b61845c934a89842c8a5f56f707ed1b3c7c51c415294fd8ee4b69501e3bf |
|
MD5 | 8011abfb40ef8b3a0d18f3220b7c8eab |
|
BLAKE2b-256 | 5fe31092809d81d6f57b092cbbe75aace8446b2264733c1f87690e37af16afa9 |