# gulp-file-inline **Repository Path**: loverswordsman/gulp-file-inline ## Basic Information - **Project Name**: gulp-file-inline - **Description**: 一个用于内联资源文件的 gulp 插件。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: https://npmjs.org/package/gulp-file-inline - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2016-07-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gulp-file-inline [![NPM version][npm-image]][npm-url] > A gulp plugin to inline link, script or other tags into the file. ## Usage First, install `gulp-file-inline` as a development dependency: ```shell $ npm install --save-dev gulp-file-inline ``` Then, add it to your `gulpfile.js`: ```js var gulp = require('gulp'); var fileInline = require('gulp-file-inline'); gulp.task('default', function() { return gulp .src('index.html') .pipe(fileInline()) .pipe(gulp.dest('dist')); }); ``` ## Example ### Using filter ```js var gulp = require('gulp'); var fileInline = require('gulp-file-inline'); gulp.task('default', function() { return gulp .src('index.html') .pipe(fileInline({ js: { filter: function(tag) { return tag.indexOf(' data-inline="true"') > 0; } } })) .pipe(gulp.dest('dist')); }); ``` ### Custom inline type This is an example to inline images: ```js var fs = require('fs'); var mime = require('mime'); var gulp = require('gulp'); var fileInline = require('gulp-file-inline'); gulp.task('default', function () { return gulp .src(['index.html']) .pipe(fileInline({ img: { tagPattern: /]* src=[^>]+>/g, urlPattern: / src=['"]?([^'"]+)['"]?/, tagParser: function (codes, attrCodes) { return ''; }, parser: function (base, filename, encoding, minify) { var content = fs.readFileSync(filename).toString('base64'); var contentType = mime.lookup(filename); return 'data:' + contentType + ';base64,' + content; } } })) .pipe(gulp.dest('dist')); }); ``` ## API ### fileInline(options) #### options Type: `Object` Default: ```js { css: { tagPattern: fileInline.CSS_TAG_PATTERN, urlPattern: fileInline.CSS_HREF_PATTERN, tagParser: fileInline.cssTagParser, parser: fileInline.cssParser, filter: null, minify: true }, js: { tagPattern: fileInline.JS_TAG_PATTERN, urlPattern: fileInline.JS_SRC_PATTERN, tagParser: fileInline.jsTagParser, parser: fileInline.jsParser, filter: null, minify: true } } ``` [npm-url]: https://npmjs.org/package/gulp-file-inline [npm-image]: https://badge.fury.io/js/gulp-file-inline.svg