博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js + Express + handlebars搭建个人网站(1)
阅读量:6489 次
发布时间:2019-06-24

本文共 1164 字,大约阅读时间需要 3 分钟。

作为前端,需要学习的东西越来越多了,各种新框架,层出不穷。再加上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的使用,参考

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

  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 inpm start// 或yarnyarn start

转载地址:http://myouo.baihongyu.com/

你可能感兴趣的文章
ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0
查看>>
Java内部DNS查询实现和参数设置
查看>>
MySQL批量SQL插入性能优化
查看>>
0c-37-ARC
查看>>
图像的 SNR 和 PSNR 的计算
查看>>
图像边缘检测——Sobel算子
查看>>
【并发编程】延时初始化
查看>>
Android用路径api在内部存储读写文件
查看>>
PHP 实现对象的持久层,数据库使用MySQL
查看>>
Freemarker生成静态代码实例
查看>>
Ural 2036. Intersect Until You're Sick of It 计算几何
查看>>
SparkConf加载与SparkContext创建(源码阅读一)
查看>>
模2运算的原理 模2加法,模2减法,模2乘法,模2除法
查看>>
Couchbase的安装步骤
查看>>
Python爬网获取全国各地律师电话号
查看>>
关于一些对location认识的误区
查看>>
Genymotion模拟器出现INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法
查看>>
Daydream Controller手柄数据的解析
查看>>
the import cannot be resolved
查看>>
教你深入理解软件包的配置、编译与安装过程
查看>>