# 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前端构建** [![npm version](https://badge.fury.io/js/gulp-jmbuild.svg)](http://badge.fury.io/js/gulp-jmbuild) [![Build Status](https://travis-ci.org/jiamao/gulp-jmbuild.svg?branch=master)](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 ```