A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 neekin 于 2017-12-29 11:57 编辑


继续上次的,想要使用gulp,得先熟悉gulp的api,
gulp.src(globs[, options])
读取符合参数条件文件,加载到pipe的管道里,并对文件进行处理
gulp.dest(path[, options])
将pipe管道里的文件,写入到指定路径下,并输出所有读取到的数据,如果某文件不存在,将会自动创建它
gulp.task(name[, deps], fn)
gulp任务
gulp.watch(glob[, opts], tasks)
监视文件,并且可以再文件发生改动的时候做一些事情.
好了,知道以上4个api,配合一些gulp的插件,就可以完成负载的前端构建化工程了.
还是拿上次的项目,如果你没有,请参考咱们的第一篇文章
运行cmd或者终端,到项目的目录下,运行
[Shell] 纯文本查看 复制代码
npm install gulp-ejs --save-dev

ejs是一种js模板引擎,常用在node.js的后台开发中,现在我们利用它开发,可以将html代码实现模块化,然后生成真正的纯静态HTML.
安装完毕后,我们在gulpfile.js里写上
[JavaScript] 纯文本查看 复制代码
var gulp = require('gulp');
var ejs = require('gulp-ejs')

gulp.task('default', function() {
    return gulp.src("./src/*.ejs")
        .pipe(ejs({ msg: 'Hello Gulp!' }, {}, { ext: '.html' }))
        .pipe(gulp.dest("./dist"))
})
创建一个src文件夹,并在里面创建一个名为index.ejs的文件,写入如下内容
[HTML] 纯文本查看 复制代码
<!DOCTYPE html><html lang="en">
<head>    
<meta charset="UTF-8">    
<meta name="viewport" content="width=device-width, initial-scale=1.0">    
<meta http-equiv="X-UA-Compatible" content="ie=edge">    
<title>Document</title>
</head>
<body>    
<%= msg %>
</body>
</html>

最后你的目录结构应该是这样的
然后在cmd或者终端输入 gulp
没有报错的情况下,会在当前目录下多出了一个dist目录,而里面就会有有一个index.html.
好了,初步完成一个完整的并可用的gulp任务.
接下来,我们简单的利用ejs引擎打造一个可以模块化开发的html
首先,同样的在src目录下,创建一个partial目录,并且在里面创建两个文件 header.ejs和footer.ejs,并分别写入:
[Shell] 纯文本查看 复制代码
#header.ejs
<header>头部</header>

#footer.ejs
<footer>脚部</footer>
然后稍微修改下index.ejs
[HTML] 纯文本查看 复制代码
<!DOCTYPE html><html lang="en"><head>    
<meta charset="UTF-8">    
<meta name="viewport" content="width=device-width, initial-scale=1.0">    
<meta http-equiv="X-UA-Compatible" content="ie=edge">    
<title>Document</title></head><body>    
<%include partial/header.ejs %>    
<%= msg %>    
<%include partial/footer.ejs %></body>
</html>

然后在cmd运行gulp,就帮我们生成了一个完整的html,今天就大功告成了,Yeah!!!


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马