开发者社区> whuer凌晨> 正文

Node.js + Express + handlebars搭建个人网站(1)

简介: 作为前端,需要学习的东西越来越多了,各种新框架,层出不穷。再加上Node.js的流行,需要学习的就更多了。很早就开始想学习Node,总是学了一半,又放下了,没有真正地掌握过。
+关注继续查看

作为前端,需要学习的东西越来越多了,各种新框架,层出不穷。再加上Node.js的流行,需要学习的就更多了。很早就开始想学习Node,总是学了一半,又放下了,没有真正地掌握过。其中原因也是因为没有一个项目需求,只学API很容易就学不下去。

1. 目标

使用Node.js 搭建个人网站,包含基本的网站首页,以及博客子站,其他的模块后续再慢慢添加上去

2. 选型

2.1. Node.js框架

有了解的Node.js框架有

  • 经典的express
  • 最近很火的koa2
  • 基于koa2的 egg(阿里的开源框架)ThinkJS
  • 比较新的,以速度见长的fastify
    面对这么多框架,不可能一下子就全部都掌握,选择哪一种框架都可以。个人感觉,koa2本身非常简洁,很多插件都需要自己去集成,刚开始可以选择像egg这种的,功能比较齐全的,在学习Node.js的同时也可以学习一般项目架构是怎样的。至于ThinkJS,了解不多,应该是和ThinkPHP一样的思想,如果有ThinkPHP的经验,可以尝试一下。

个人而言,这个项目选择使用express,原因有以下几点:

  • express比较经典,相对应的中文资料也多,学习起来,碰到问题也比较容易解决
  • fastify比较新,但是中文资料少
  • koa2用的人多,但相比之下,还是先从Express入手,熟悉了如何用Node.js搭建一个项目并且对Node.js本身主要的API有比较好的了解之后再去学习Koa2

2.2. 模块引擎

了解了一下现在比较多人使用的模板引擎,有 jade, ejs,handlebars

  • jade的风格非常简洁,但上手比较难,如果是个人项目中使用,无所谓,但如果是团队中,总体学习成本偏大
  • ejs的风格跟jsp的风格很像,有很多人更喜欢用ejs,特别是有使用Java开发的人
  • handlebars的风格,跟现在流行的vue模板风格很像
    基于以上几点,由于平时使用Vue做的项目比较多,对于handlebars的这种风格比较喜欢
    因此选择使用handlebars作为前端模板引擎。

3. 框架的搭建

Express的教程还是比较多的,因此搭建起来很方便
express的使用,参考官方文档

Express应用生成器

通过应用生成器可以快速地创建一个应用程序

  1. 安装express应用生成器
npm i -g express-generator
  1. 查看应用生成器的相关帮助
    img_bbea3ca735f1f40cbf31f4d46c230ce8.png
    image.png
  2. 通过应用生成器生成应用骨架
express --view=hbs myapp

旧的语法 express --hbs myapp不推荐:


img_abd226da117dfda7212a853ce51803c0.png
image.png

建议使用推荐的语法:


img_2e72e00320c3e7e5ccdb57d75f634f58.png
image.png

生成之后的项目结构如下:


img_6287fd75b52af1b63476a7c080708383.png
image.png
  1. 启动项目
npm i
npm start
// 或
yarn
yarn start

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于ecs搭建node+docker+nginx微服务小型架构
在ecs上使用node创建服务,nginx配置负载均衡,docker进行打包,最终使用docker-compose进行运行
26 0
Windows环境下轻松搭建NodeJs服务器
Windows环境下轻松搭建NodeJs服务器
31 0
基于 Gitee 搭建个人网站-入门教程
这是一篇基于Gitee搭建个人网站的保姆级教程。从零到一。如果你想基于云服务器搭建,我以前写过一篇[菜鸟篇](https://blog.csdn.net/qq_40374604/article/details/81113732)。 **适合人群**:入门级别教程,如果你想拥有一个自己的网站,又苦于没有云服务器,这个是你的不二选择。 本篇是基于 docsify 搭建,docsify 是一个文档类博客模板,简介且方便使用。
92 0
搭建直播平台这些是必须的
搭建直播平台过程中很多人认为功能越多越好,不惜花费大量时间在功能开发上
238 0
搭建node.js环境
搭建node.js环境
13 0
个人搭建网站的服务器选择
首先,先弄清楚自己的需求和用途:1、是建立一个静态页面还是动态页面? 2、对域名有什么要求? 3、内容有多少?是否要支持请求量比较大的下载? 4、如果是动态页面要做成多大规模的? 5、BBS 一类的页面对在线用户数量的估算是多少? 6、有数据库的话是什么类型的?数据量多大? 7、网站内容有没有政治敏感的东西? 8、预算多少? 9、对安全性有没有要求? 一般来说,选择网站服务器需要考虑这么几个方面:买主机(空间 /VPS 等),主要考察空间大小 / 流量 / 连接数 / 数据库 / 流量 / 是否有其它特殊用途等。
6507 0
Day3-电子相册的相关搭建
通过阿里云提供的智能视觉平台中的人脸识别的SDK, 我们能够快速的搭建起电子相册, 包括人脸的表情属性识别等.
217 0
基于阿里云服务器与宝塔面板安装和搭建WordPress个人网站(图文教程)
基于阿里云服务器与宝塔面板安装和搭建WordPress个人网站(图文教程)
709 0
基于Spark的机器学习实践 (三) - 实战环境搭建
0 相关源码 1 Spark环境安装 ◆ Spark 由scala语言编写,提供多种语言接口,需要JVM ◆ 官方为我们提供了Spark 编译好的版本,可以不必进行手动编译 ◆ Spark安装不难,配置需要注意,并且不一定需要Hadoop环境 下载 解压 tar zxvf spark-2.
1094 0
+关注
whuer凌晨
毕业于武汉大学,从事前端开发5年,从最早的jQuery到ExtJS、到Angular1.x以及现在的Vue均有所接触
16
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载