vfem v1.3.5
vfe
vfe is a components builder with specified directory structure, base on webpack and gulp.
Usage
See example.
Installing:
npm install vfe --saveUsing with gulp build tool, create a gulpfile.js file
var gulp = require('gulp')
var builder = require('vfe')
gulp.task('default', function () {
return builder({
entry: './index.js',
libs: './lib/*.js'
})
.pipe(gulp.dest(dist))
})Project folders specification:
./
|___/c
| |
| |___/header
| |
| |____header.css
| |
| |____header.js
| |
| |____header.tpl
| |
| |___/images
| |____icon.png
|
|
|____gulpfile.js
|
|____index.js
|
|___/lib
|____*.jsc/
Component modules directory, default is "/c". Using `require("$componentName")` to load module, such as load header module: `require("header")` will auto load header.css and header.js. > **Note:** It can be replaced of custom_directory using modulesDirectories option. [See](https://github.com/switer/vfe#custom-modules-directory)lib/
Non-modularized js will concat with components' bundle file.index.js
Components entry js.
Require rules
require(
"/$components_modules/name/$resource.js")Component resources absolute path.require(
"$name")Short name of `"/$components_modules/name/$name.js"`.require(
"$dir/$name")Short name of `"/$components_modules/dir/$name/$name.js"`.require(
"./$name.tpl")Load html template file as a string module.
Custom modules directory
vfe({
entry: './index.js',
libs: './lib/*.js',
modulesDirectories: ['c', 'custom_modules']
})If you don't want use "/c" as component modules directory, overwrite it:
vfe({
modulesDirectories: ['components'] // use "/components" as modules directory
})Command line
Install cli
npm install vfe -gInit project using vfe-template
vfe initNote: Using proxy option,
vfe init -p $proxy. Such asvfe init -p tx. See $tx
Run default build task
vfeStart develop watcher
vfe startNote: Start command support run with another task name, such as
vfe start sometask, only if task name isstart-sometask.
Releasing for production
vfe releaseNote: Release command support run with another task name, such as
vfe release sometask, only if task name isrelease-sometask.
Configure
####Vfe config
{
vfeLoaders: {
tpl: {}, // html-loader, default match: *.tpl
css: {}, // css-loader, default match: *.css
image: {}, // file-loader, default match: png|jpg|gif|jpeg|webp
}
}WebPack
Using as vfe(options) , options will be passed through to webpack function.
License
MIT.