gulp中能否根据一个html模板文件生成多个html文件
已经搜索很久了,没找到来问问。
用的是gulp
有没有个插件,可以实现如下
根据一个html文件,和一个json文件,批量生成一些有规律的html文件,省的建立一堆重复的模板。
也便于维护。
上面是个想法,就是找不到类似的东西。
解决方式
const {src, dest, lastRun, watch, series, parallel} = require('gulp')
const fileInclude = require('gulp-file-include')
const rename = require('gulp-rename')
const {fileName} = require('./src/pages/loop/name.json')
const include = newName => {
return src('./src/pages/**/*.html')
.pipe(fileInclude({
indent: true,
prefix: '@@',
basepath: './src/partials',
}))
.pipe(rename({
basename: newName
}))
.pipe(dest('./dist/'))
}
const loopInclude = done => {
for (let i = 0, x = fileName.length; i < x; i++) {
include(fileName[i])
}
done()
}
exports.testInclude = loopInclude
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
假设生成一个 html 的流程用 gulp 可以实现.
那么写条命令 循环执行 gulp 命令多次就可以了
gulp就是一个打包工具,本身也是支持一些模板工具,如ejs等。
另外如不想使用这种ejs模板的方式,使用gulp-token-replace插件也是可以的,使用方式如下:
我想,你期望的是利用根据一个json和模板html,生成一系列的静态html页面吧,这个功能其实有很多办法实现。甚至都不一定用gulp,可以理解为单独有一个nodejs或者其它方法操作文件的命令,然后在gulp中调用(我想,既然是静态文件,其实生成一次就够了吧,不需要频繁的调用生成,可以利用一些标志注明是否已经生成过。)