node+express搭建过程以及安装ejs模板引擎解决方案

一、Node.js简介

  1.Node.js是什么?

    Node.js 可以作为服务器向用户提供服务,与 PHP、Python、Ruby on Rails 相比,它跳过了 Apache、Nginx 等 HTTP 服务器,直接面向前端开发。Node.js 是一个让 JavaScript 运行在浏览器之外的平台。PS: Node.js 不运行在浏览器中,所以也就不存 在 JavaScript 的浏览器兼容性问题。

  2.Node.js可以做什么?

    Node.js 能做的远不止开发一个网 站那么简单,使用 Node.js,你可以轻松地开发:  具有复杂逻辑的网站;基于社交网络的大规模 Web 应用;Web Socket 服务器;TCP/UDP 套接字应用程序;命令行工具;交互式终端程序;带有图形用户界面的本地应用程序;单元测试工具;客户端 JavaScript 编译器。

Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计。

二、安装Node.js、express

  1.安装node

  node下载地址链接: https://nodejs.org/zh-cn/download/

  安装完成之后,检查node的版本:

  2.安装express:

      安装命令:npm install -g express

  查看安装的版本: express --version

三、建立工程

  Express 在初始化一个项目的时候需要指定模板引擎,默认支持Jade和ejs,为了降低学 习难度我们推荐使用 ejs; ——摘自《Node.js权威指南》

  1. 创建工程:当按照书上的命令行去执行时: express -t ejs projectName

 2. 安装install: 然后执行 cd projectName ,进入到你的项目中,执行 npm install ,进行安装,最后通过 npm start 启动项目;

虽然项目起来了,但是查看项目的目录文件,却发现跟自己想象的不一样:明明是要用ejs模板的,结果执行命令后,发现是 jade模板;

然后我自作聪明的重新安装一下ejs模板,npm install ejs ,然后自己又把文件中 .jade 的文件,全部改成了以后缀为 .ejs 的,(多么的机智)

然后我在 layout.ejs 中,加上自己的模板内容, 然后重新启动项目,发现页面上却不能显示layout.ejs 的任何内容;

后来才得知: 在express 3.0之后的版本,执行 express -t ejs projectName ,默认使用的都是 jade模板;

3.使用ejs模板:

(1)如果要使用ejs 模板,需执行新的命令: express -e project2

r然后cd project2, npm install===> npm start:

打开项目目录查看:发现views文件夹下,没有了layout.ejs 文件:express3以上的版本把layout默认给取消了

(2) 安装了ejs后,如何使用ejs的layout模板 

  安装express-partials ,运行npm install express-partials 或者在 package.json 里面的 dependencies 添加 "express-partials": "*"。然后在项目目录下运行 npm install 。

然后在app.js 里面引用 express-partials,引用方法:

1.添加引用 var partials = require('express-partials');

2.在 app.set('view engine', 'ejs'); 下面添加 app.use(partials());

在需要引用模板的地方调用 layout:'模版名称' 示例:

app.get('/', function (req, res) {
 
res.render('index', {
 
title: '首页',
 
layout: 'template'
 
});

  

   

  

原文地址:https://www.cnblogs.com/loveyaxin/p/10535743.html