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'
});
node+express搭建过程以及安装ejs模板引擎解决方案的更多相关文章
- Express框架中如何引用ejs模板引擎
1.如何在项目中安装ejs模板引擎 在NodeJS指南中利用利用以下命令建立网站的基本结构: express -t ejs microblog 运行这个命令后继续运行 cd microblog &am ...
- express搭建web服务器、路由、get、post请求、multer上传文件、EJS模板引擎的使用
express官网 postman工具下载地址 multer的npm文档地址 express模板引擎怎么使用 地址:http://www.expressjs.com.cn/guide/using- ...
- 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别
一.Express框架 1.1基本使用 创建http服务器特别麻烦,express框架解决了这个的问题. Express在node界的地位,就相当于jQuery在DOM界的地位.jQuery的核心就是 ...
- node+express搭建个人网站(2)
node+express搭建个人网站(1)这一节中成功启动了一个网站但还很简陋,仅仅打印了一个helloworld的网页 作为个人网站,我们当然想输出自己设计好的网页, 我们借助 Express 应用 ...
- 在express站点中使用ejs模板引擎
在express站点中使用ejs模板引擎 文/玄魂 目录 在express站点中使用ejs模板引擎 前言 1.1 安装 1.2修改app.js 1.3创建测试页面 前言 使用 vs创建 ...
- node+ejs模板引擎的应用
前言: 最近在开发一个关于后台管理系统的基础开发平台,解释一下就是不管什么管理系统都有一些相同的功能,但是又有一些细节不一样,这个基础平台就是实现对于基础功能可以进行快速开发,主要有自定义的生成功能代 ...
- nodejs-5.1 ejs模板引擎
ejs官方文档:https://ejs.bootcss.com/ 1.什么是 EJS? "E" 代表 "effective",即[高效]. EJS 是一套简单的 ...
- 使用ejs模板引擎
let express = require('express'); let fs = require('fs'); let ejs = require('ejs'); let app = expres ...
- koa2--04.ejs模板引擎
首先在项目文件下使用cmd,输入:npm install --save koa-views ejs,将koa-views中间件和ejs模板引擎安装到文件中,并自动写入依赖 接在在index.js文件中 ...
随机推荐
- 删除当前文件夹的bat工具
@echo off:11set /p path=Please enter delete filepath:del /f /s /q %path%rd /q /s %path%goto 11pause
- Android学习笔记 Toast屏幕提示组件的使用方法
activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...
- 同一个程序里有多个版本的App
在Xcode中添加多个targets进行版本控制,就是同一个app开发多个版本 以Xcode 9.3 为例 1. 创建 点击左侧工程项目文件,选择TARGETS 下的项目右击选择 Duplicate. ...
- python 面向对象十一 super函数
python 面向对象十一 super函数 super函数用来解决钻石继承. 一.python的继承以及调用父类成员 父类: class Base(object): def __init__(se ...
- 2. C/C++笔试面试经典题目二
1. C和C++中struct有什么区别? [参考答案] [解析]C中的struct没有保护行为,没有public,private,protected,内部不能有函数,但可以有函数指针. 2. C++ ...
- Servlet完全教程
Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求. Servle ...
- shell-002:统计IP访问量
统计IP访问量 #!/bin/bash # 统计IP的访问量 # 第一步首先得获取到日志的IP # 第二步给IP排序,这样相同的的IP就会在一起 sort # 第三步则给重复的IP统计数量,去重 un ...
- @ApiParam @PathVariable @RequestParam三者区别
转载:https://www.cnblogs.com/xu-lei/p/7803062.html @ApiParam @PathVariable @RequestParam三者区别 1.@ApiPar ...
- php 利用 json 传递数组之中文乱码最新解决办法
json好用,但是如果数据中有中文就会出乱子了,网上解决办法多半是设置utf-8编码或转换字符编码 以下是我的解决办法,利用php的urlencode.urldecode函数(其实也是一种转换编码吧) ...
- POJ 2182 Lost Cows (求序列第k大)
题解 二分+树状数组 显然最和一个数的值就是rank 那么其它数有什么规律? 从后往前匹配rank,我们可以发现第i个数的rank为还没有匹配的rank第(a[i]+1)大的数 这可以用 树状数组+二 ...