极简Node教程-七天从小白变大神(一:你需要Express)
如果说用一句话来概括Node那就是:它开启了JavaScript服务器端语言。
Node系列的文章并不会从一开始长篇概论的讲Node的历史,安装,以及其他很琐碎的事情。只会专门介绍关于Node或者准确来讲是关于Node的敏捷开发。
首先我们需要一个脚手架
快速了解Express
1.Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。
2.API
丰富的 HTTP 快捷方法和任意排列组合的 Connect 中间件,让你创建健壮、友好的 API 变得既快速又简单。
3.性能
Express 不对 Node.js 已有的特性进行二次抽象,我们只是在它之上扩展了 Web 应用所需的基本功能。
如果说你对以上还是云里雾里的话,我们接下来马上利用Express开发一个网站
Express五分钟开发一个网站
首先确保你已经安装好Node.exe 及其附带的npm , 这是我们开发的关键,然后打开任意的命令行不管是系统自带的命令行或者node附带的亦或是Git cmd.
键入:
$ npm install express-generator -g // npm install 是安装任何第三方包的命令, express-generator -g 指在全局范围下安装名为 express-generator 的第三方包。
等待系统联网安装express,下载完成后,可以选择你喜欢的名字作为应用目录:
express myapp //指在当前命令行目录下创建一个名为myapp的文件夹用来做应用目录
等待系统生成应用骨架,然后进入myapp目录下:
cd myapp //到达我们的工作目录
然后 下载所有express这个应用所需的所有依赖项 (可以理解为前端项目自动下载jquery,bootstrap 之类的第三方库或者框架,当然事实上并不是这个意思):
npm install
下载完毕后,就可以启动我们的express应用了,运行:
npm start // 或者 node app.js 或者其实还有很多的奇淫巧计
现在打开你喜欢的Chrome浏览器或者Edge 浏览器 网址输入奇怪的 域名:
http://localhost:3000/
等待片刻,标志性的Express 就出来了,现在不管你的心情是欣喜或者郁闷抑或习以为常,这本质上就是一个网站了,为防你不信,还可以输入另一个奇怪的域名:
http://localhost:3000/users //
我们刚才仅仅只是简单的启动了express罢了,现在开始真正的开发了。
在目录下新建一个名为server.js 的文件,作为项目的入口文件:
/* 以下代码等下会有详细的解释 */
var express = require('express'); // 用来引入express模块
var app = express(); // express 实例对象
app.set('port',process.env.PORT || 3000);
// 设置端口为3000
app.get('/',function (req,res) { // 设置首页的路由 用 '/' 表示
res.send('Ritsu Yan ')
})
app.get('/about',function (req,res) { //设置about页面的路由 用 '/about' 表示
res.send('the node course')
})
app.use(function (req,res,next) { // 设置404页面
res.status(404);
res.send('404 - Not Found')
})
app.listen(app.get('port'),function () { // 监听端口如果有用户进入页面发送请求我们输出以下语句
console.log('express started on port 3000')
})
现在 关闭当前命令行新建一个 命令行然后重新输入
node server.js
然后浏览器重载首页即
http://localhost:3000/
或者
http://localhost:3000/about
都能得到满意的回应
现在我们看看server.js 做了什么
使用require('xxx') 引入了express 模块, 这种方式是 Node 中少数同步的操作,它一开始会去Node 的原始 node_modules 目录下寻找express 模块 然后引入,把值赋给express,然后实例化为app.
app.set('port',xxx) 能够设置我们的域名端口,这里process.env.PORT是指
环境变量要是设置了PORT,那么就用环境变量的PORT,环境变量没有我们就用3000.
其他路由信息可以自行百度或者暂时只需要了解 app.get是 用来处理路由请求的.
详见
小结
本篇只是简单的介绍了express的简单开发,由于篇幅欲求极简,其他讯息烦请自行了解。
作者:颜卿今天Coding了吗
链接:https://www.jianshu.com/p/b4701a6efc50
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
极简Node教程-七天从小白变大神(一:你需要Express)的更多相关文章
- 极简Node教程-七天从小白变大神(二:中间件是核心)
当我们只引入express时,前述的那些功能都是没有启用的.那么,如何将这些功能添加进来呢?express通过其中间件机制实现了这些功能的管理.每一个中间件对应一个功能,而中间件可以是第三方库,也可以 ...
- mui初级入门教程(四)— 再谈webview,从小白变“大神”!
文章来源:小青年原创发布时间:2016-06-05关键词:mui,html5+,webview转载需标注本文原始地址: http://zhaomenghuan.github.io/#!/blog/20 ...
- 【同行说技术】Python程序员小白变大神必读资料汇总( 三)
在文章<Python开发.调试.爬虫类工具大全>里面向大家总结了各种实用工具和爬虫技术,今天小编收集了5篇带有实例干货的资料,赶紧来看看吧!另外,喜欢写博客的博主可以申请加工程师博主交流群 ...
- 极简 Node.js 入门 - Node.js 是什么、性能有优势?
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 1.2 模块系统
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 1.3 调试
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 1.4 NPM & package.json
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 2.1 Path
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 2.2 事件
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
随机推荐
- bootstrapValidator 重置表单
最近在公司做业务系统后台,用的js框架还是jquery ui框架 是以bootstrap为基础的beyondadmin-v1.4.s3这套,用起来还挺不错,所以公司所有的后台ui都使用这套.这套ui ...
- CentOS-7.3.1611编译安装 Nginx-1.12.1+mysql-5.7.19+PHP-7.1.8+zabbix-3.4.1
CentOS-7.3.1611编译安装 Nginx-1.12.1+mysql-5.7.19+PHP-7.1.8+zabbix-3.4.1 下载软件 1.下载nginx http://nginx.org ...
- 百度地图API 基础入门
一.注册账号,获取密钥 流程-注册-登录-控制台-创建应用-获取密钥: 1.你想要调取百度地图,首先,你需要注册一个百度账号,获取密匙. 2.密钥获取以后,引入到你需要调用百度地图的界面中. 二.创建 ...
- PPII打不开 更改I.bat
http://jingyan.baidu.com/article/3a2f7c2e7d277126afd6118d.html
- Centos7安装 PostgreSQL步骤
1. 安装服务器即可. Yum install postgresql-server Yum install postgresql-contrib 2. 验证是否安装成功: rpm -aq| grep ...
- 可以使用可用的服务和参数调用在“eWorld.WCFImplement.ServiceImplement.ImageArchiveService”类型上使用“Autofac.Core.Activators.Reflection.DefaultConstructorFinder”找到的构造函数: 无法解析参数'eWorld.WCFBLL.ImageArchive.IDocumentOperation
可以使用可用的服务和参数调用在“eWorld.WCFImplement.ServiceImplement.ImageArchiveService”类型上使用“Autofac.Core.Activato ...
- numpy各函数简介之生成数组函数
1.empty(shape[, dtype, order]) 依据给定形状和类型(shape[, dtype, order])返回一个新的空数组. 参数: shape : 整数或者整型元组 定义返回数 ...
- 管理员必备的几个Linux系统监控工具
需要监控Linux服务器系统性能吗?尝试下面这些系统内置或附件的工具吧.大多数Linux发行版本都装备了大量的监控工具.这些工具提供了能用作取得相关信息和系统活动的量度指标.你能使用这些工具发现造成性 ...
- 循环 -----JavaScript
本文摘要:http://www.liaoxuefeng.com/ JavaScript的循环有两种,一种是for循环,通过初始条件.结束条件和递增条件来循环执行语句块: var x = 0; var ...
- 如何使用工具进行C/C++的内存泄漏检测
系统编程中一个重要的方面就是有效地处理与内存相关的问题.你的工作越接近系统,你就需要面对越多的内存问题.有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦.所以,在实践中会用到很多工具来 ...