Node.js环境下通过Express创建Web项目
通过Express命令创建项目
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
使用 Express 可以快速地搭建一个完整功能的网站。
Express 框架核心特性:
可以设置中间件来响应 HTTP 请求。
定义了路由表用于执行不同的 HTTP 请求动作。
可以通过向模板传递参数来动态渲染 HTML 页面。
先看下Express的命令模式:
D:\nodejs_project\webappdemo>express -h
Usage: express [options] [dir]
Options:
--version output the version number
-e, --ejs add ejs engine support
--pug add pug engine support
--hbs add handlebars engine support
-H, --hogan add hogan.js engine support
-v, --view <engine> add view <engine> support (dust|ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
-c, --css <engine> add stylesheet <engine> support (less|stylus|compass|sass) (defaults to plain css)
--git add .gitignore
-f, --force force on non-empty directory
-h, --help output usage information
1、创建Express常用的模版引擎项目
1) jade模版引擎
D:\nodejs_project>express app
express默认以jade作为模板引擎,模板文件为.jade类型;jade的语法与html有较大差异,对缩进也是要求严格的

jade模版引擎,语法简洁,Jade强制的缩进格式能凸显html的结构;
ade专为HTML设计,因此可以做许多传统模板做不到的专门针对html的优化。举个几个简单的例子:
1). 决定如何输出属性(当属性赋值为null/false时不输出属性,为true时只需属性不需要值,这在传统模板里写起来很麻烦、代码难看易出错)
2). 自动产生well-formed结构(甚至可决定是否要输出结束标签,而传统模板理论上也做不到这点,除非引入额外的html parse或tidy)
3). 换行处理,避免产生额外的空白节点
4). 对输出的变量自动进行特殊字符的encode
2) ejs模版引擎
D:\nodejs_project>express webappdemo -e
在项目名称的后面添加 -e 那么创建出来的模板引擎就是.ejs类型,语法是与html相同的

2、安装依赖包
D:\nodejs_project\webappdemo>npm install
npm notice created a lockfile as package-lock.json. You should commit this file.
added 57 packages in 17.975s
3、启动服务
D:\nodejs_project\webappdemo>npm start > webappdemo@0.0.0 start D:\nodejs_project\webappdemo
> node ./bin/www GET / 200 10.670 ms - 207
GET /stylesheets/style.css 200 5.965 ms - 111
4、打开浏览器,输入localhost:3000

Node.js环境下通过Express创建Web项目的更多相关文章
- 在Node.js环境下使用Express创建Web项目实例
序:如果你还不知道Node.js是什么,那么你可以先看看这篇:Node.js 究竟是什么?或者任何关于它的介绍. 一.安装Node.js 1.进入Node.js官网下载并安装 2.启动cmd输入命令查 ...
- [转]RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ
本文转自:https://blog.csdn.net/puncha/article/details/8452017 学,以致用.找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后 ...
- RabbitMQ学习之:(十二)在Node.js环境下使用RabbitMQ
学,以致用.找了半天Node.js下RabbitMQ的库,看上去都不太趁手,直到最后找到了amqp库,看上去倒还不错,照着例子,写了第一个RabbitMQ的客户端. 首先,使用 npm install ...
- node.js环境下写的vue项目
github地址:https://github.com/anxizhihai/JournalismProject.git
- 【spring boot】5.spring boot 创建web项目并使用jsp作前台页面
贼烦的是,使用spring boot 创建web项目,然后我再idea下创建的,but 仅仅启动spring boot的启动类,就算整个项目都是好着的,就算是能够进入controller中,也不能成功 ...
- 认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具
认识Web.桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具 一.开发环境的搭建(基于win10) 1.安装node.js和npm 到node.js官网下载安装包(包含npm ...
- macOS Sierra Version 10.12.6 环境下Tomcat的下载与安装以及InterlliJ IDEA 2017.2 环境下配置Tomcat 与创建Web项目
一.Tomcat的下载与安装 1.官网(http://tomcat.apache.org/)下载Tomcat 9.0 Core:zip包: 2.解压到指定的文件夹即可安装完成: 3.测试是否安装成功 ...
- win 环境下 node.js环境变量
在win 环境下 node.js环境变量有两种情况: (1)开发环境(development):开发环境是程序猿们专门用于开发的服务器,配置可以比较随意, 为了开发调试方便,一般打开全部错误报告. ...
- 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)
了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发) Guillermo Rauch 编 赵静 译 ISBN 978-7-121-21769-2 2 ...
随机推荐
- HDU 6040 Hints of sd0061 —— 2017 Multi-University Training 1
Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- cordova打包apk流程
一.打包 条件: 1.java-jdk 2.Android-sdk ( 安装教程:https://blog.csdn.net/qq_36577136/article/details/80632674 ...
- (转)docker-compose安装
转:https://blog.csdn.net/pushiqiang/article/details/78682323 https://blog.csdn.net/ericnany/article/d ...
- 老牌激活工具– Microsoft Toolkit 2.4.3 + 详细图文教程【转】
老牌激活工具-- Microsoft Toolkit 2.4.3 + 详细图文教程 windowsToolkit是一个一键激活MS Office 2010的工具.原理就是利用KMS来激活,不是新的激活 ...
- English-Useful sentences
很乐意 pull request. Pleased to pull request. 这个项目现在已经被弃用了. This project is now deprecated. 如你下面看到的,你可以 ...
- Python笔记(七)_全局变量与局部变量
全局变量与局部变量:在函数外部或内部定义的变量 1. 函数内部的变量名首次出现,且在=号左边 不管这个变量在全局域中有没有定义该变量名,都被视为一个局部变量 例1: >>>num=1 ...
- 关于日历实现代码里lunarInfo(农历)数组
var lunarInfo=new Array( 0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x0 ...
- 报警插件Alertmanager 安装与使用
Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组.删除重复等处理,并将它们通过路由发送给正确的接收器:告警方式可以按照不同的规则发送给不同的模块负 ...
- QTP加载第三方DLL(C#)实现清除IE缓存(转)
由于QTP的默认编程语言是VBS, 而VBS是一种相对来说功能比较局限的脚本语言,因此我们在编写自动化测试脚本时会有很多功能无法很好的实现. 相对来说c#是一种高级编程语言, 可以实现大多数windo ...
- docker-compos联合两个容器
使用网络 ' services: web: image: http networks: - myappnet1 worker: image: http networks: - myappnet2 db ...