# gulp-jmbuild
**Repository Path**: fefeding/gulp-jmbuild
## Basic Information
- **Project Name**: gulp-jmbuild
- **Description**: gulp插件,用于WEB前端构建
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-06-01
- **Last Updated**: 2021-09-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# gulp-jmbuild
**gulp插件,用于WEB前端构建**
[](http://badge.fury.io/js/gulp-jmbuild)
[](https://travis-ci.org/jiamao/gulp-jmbuild)
## 安装
进入您做为构建工具用的目录
**1.首先安装[gulp](http://gulpjs.com/)**
```js
$ npm install -g gulp
$ npm install --save-dev gulp
```
**2.安装其它依赖[q/gulp-jshint]。**
```js
$ npm install q
$ npm install gulp-jshint
```
**3.安装gulp-jmbuild**
```js
$ npm install gulp-jmbuild
```
## 示例
**在构建目录下创建 `gulpfile.js`**
```js
var jshint = require('gulp-jshint');
var Q = require('q');
var gulp = require('gulp');
var path = require('path');
var jmbuild = require('gulp-jmbuild');
//配置文件
var config = {
"debug": false,//如果是true,则不全合并和压缩文件,也不会打md5码,支持监听
//项目根路径,后面的路径基本都是相对于它的。
"root": path.resolve('../'),
//构建目标目录,相对于root
"dest": "dist",
//js文件构建目标目录,相对于dest,,,如果你想把它放在不同的地方,可以用类似于../这种改变根路径的方法。
"jsDest": "static/js",
//html文件构建目标目录,相对于dest
"htmlDest": "",
//css文件构建目标目录,相对于dest
"cssDest": "static/css",
//JS文件基础路径段,主要用于模块化提取模块id用处,比例在static/js/test/a.js 构建时就会取static/js后的test/a做为模块id
"jsBase": "static/js",
//文件后缀的分隔符,例如:a.{md5}.js
"separator": ".",
//md5码取多少位,
"md5Size": 8,
//JS需要构建的配置
"js": [
{
//构建源,跟gulp的source方法保持一致,可以是单个文件/目录*.js/数组
//以下所有类同
"source": "static/js/*.js",
//是否加上md5后缀,默认false
'md5': true,
//名称扩展,会直接加到文件名后缀前,例如:a.324242.lc.js
"expand": 'lc'
},
{
"source": ["static/js/test/**/*.js"],
//用于把source中的所有文件合并到同一个文件,并命名为此配置值
"concat": "t.js",
'md5': true,
//当前配置发布位置,相对于jsDest配置,如果不配置则默认放到jsDest下。
"dest": 'test'
}
],
"css": [
{
"source": "static/css/*.css",
"md5": true
}
],
"html": [
{
"source": "index.html",
//当有inline模块化js文件时,理否把它依赖的模块一同内嵌进来,默认为false
"includeModule": true
}
],
//普通文件构建,可以用于图片拷贝和打md5码
"files": [
{
"source": "static/img/*.*",
"md5": true,
"dest": "static/img"
}
]
};
//语法检测
gulp.task('jshint', function () {
var sources = [];
if(config.js && config.js.length) {
for(var i=0;i
var a=__pkg('/static/js/a.js');
var t=__pkg('test/t.js');
```
构建后:
```html
var a="/static/js/a.49ea7d65.js";
var t="test/t.fbdd9f3d.js";
```
__pkg和__uri的差别在于,__pkg替换后会带上双引号,适合用于js中。__uri直接替换不带引号,适合用在html中.
**2.__inline函数**
此函数为把对应的文件内容(构建后的)内联到当前html中。
!!#ff0000 注:如果当前html构建配置中有指定"includeModule": true 则当inline一个模块化js文件时,会同时把它所有依赖js一起内联进来。!!
例如:
```html
```
构建后:
```html
```