pre
想要学习一下kafka,官网上有比较全面的文档,但无法离线查阅,并且现在纸质版的教程中使用的kafka的版本都比较老(官网目前最新是2.2.0 ),因此想要找到kafka官方教程的离线文档,这时候在github上找到了apachecn发布的kafka-doc-zh项目,该项目实现了对Kafka官方网页汉化的工作,这个项目对我有很大帮助,但这个项目是基于nodejs相关技术开发的,我对于该技术并不了解,我认为对于部分需要这份文档的人,这个对于他们获取信息构成了障碍,因此,本文介绍了搭建该项目运行环境的过程,同时在文章的最后提出了该项目目前存在的一些问题和可行的解决方案。
环境搭建过程
-
下载nodejs
直接从nodejs官网1下载安装包即可 -
安装gulp(代码自动化构建工具,在我的理解中,和c++的make的作用是类似的)
这部分的内容参考了qipenghuang的博客2
这里需要使用nodejs的包管理工具来下载gulp包(和Python的pip类似),但是存在一个问题在国内使用该方法下载gulp可能因为网络问题导致下载失败,所以这里采用npm的替代方案淘宝开发团队给出的cnpm3(与ubuntu系统中清华提供的源是相同的作用)
依次执行下面的命令即可
npm install cnpm -g --registry=https://registry.npm.taobao.org
cnpm install gulp -g
- 使用gulp构建项目
下载kafka-doc-zh项目4
在项目根目录打开命令行
接下来的操作涉及到gulp的使用,有兴趣的朋友可以进一步去研究,apachecn已经帮我们做好了很多工作,这里只需要执行下面的命令即可,之后会在根目录的dist文件夹中生成构建好的网页文件,但是该网页文件无法直接使用(网页之间的跳转和静态资源链接存在问题)
gulp default
- 部署项目
这一步的目的是创建一个本地站点,将dist设置为网站根目录,然后使用者可以通过网站访问的方式正常的使用这些网页
这一步参考了大象软件的博客内容5
在项目根目录安装express包,执行如下命令
npm install express -save
在项目根目录创建server.js文件,文件内容如下
let express = require("express");
let app = express();
app.use(express.static("dist/"));
app.listen(8080, ()=>{
console.log("服务启动成功。");
})
部署项目
node server.js
之后直接通过浏览器访问 localhost:8080/index.html 即可
目前存在的问题
-
使用gulp构建项目的时候,图片拷贝存在问题,在最后的网页中部分图片无法正常显示
解决方案是直接检查源码,找到图片引用的路径,然后从原来项目中将图片拷贝到对应的位置 -
在目前(2019-4-24),首页的文档对应的Kafka版本还是2.1.0
我检查了一下源码,目前项目中 原始的document.html 中链接的版本还是2.1.0, apachecn团队已经完成了大部分2.2.0的汉化工作,但是2.2.0的网页还不完善,无法正常使用
最终可行的解决方案是接受2.1.0版本的文档,或者手动补全2.2.0源码中缺失的部分,然后修改document.html 的链接地址,之后重新通过gulp编译该项目
引用
nodejs官网地址 https://nodejs.org/en/ ↩︎
qipenghuang的博文地址 https://blog.csdn.net/qipenghuang/article/details/50770278 ↩︎
cnpm官网地址 http://npm.taobao.org ↩︎
kafka-doc-zh项目地址 https://github.com/apachecn/kafka-doc-zh ↩︎
大象软件的博文地址 https://blog.csdn.net/wenwushq/article/details/79827718 ↩︎