node.js入门学习(四)--express

1、官网:http://expressjs.com/

中文:http://www.expressjs.com.cn/

2、HelloWorld

  1)mkdir node-express-demo

  2)cd .\node-express-demo\

  3)新建app.js文件

  4)npm init -y  : 会以app.js为入口文件,创建package.json

  5)npm install express --save  : 本地安装express并将其保存到依赖列表中,会新建package-lock.json文件,package.json也会添加依赖

  package.json

{
  "name": "node-express-demo",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.17.1"
  }
}

  6)app.js

const express = require(‘express‘)
const app = express()

app.get(‘/‘, (req, res) => res.send(‘Hello World!‘))

app.listen(3000, () => console.log(‘Example app listening on port 3000!‘))

  7)node .\app.js

3、res.send()

  app.js

const express = require(‘express‘)
const app = express()

app.get(‘/‘, (req, res) => res.send(‘Hello World!‘))

app.get(‘/index‘, function (req, res) {
    res.send("中文会乱码吗?");
});

app.get(‘/json‘, function (req, res) {
    var jsonObj = {name:"张三"};
    res.send(jsonObj);
});

app.listen(3000, () => console.log(‘Example app listening on port 3000!‘))

  

  访问http://127.0.0.1:3000/index,结果

  访问http://127.0.0.1:3000/json,结果

4、app.get、app.use和app.all注册路由

  app.get(‘/add‘, fn):请求方法必须是get,请求uri必须是"/add"

  app.use():请求方法任意,请求uri是“/add/...”这样的

  app.all():请求方法任意,请求uri === “/add”

5、通过req.params获取路由中的参数

const express = require(‘express‘)
const app = express()

app.get(‘/book/:year/:month/:day‘, function(req, res) {
    res.send(req.params);
});

app.listen(3000, () => console.log(‘Example app listening on port 3000!‘))

  访问http://localhost:3000/book/2019/07/08,结果:

6、静态资源

   app.use(‘/public‘, express.static(path.join(__dirname, ‘public‘)));

  请求:http://127.0.0.1:3000/public/images/1.jpg

  匹配"/public",并认为"/public"为虚拟路径,然后将/"images/1.jpg" 与 path.join(__dirname, ‘public‘) 拼接成路径,以此路径去找静态资源。

7、Demo

  

  app.js

var express = require(‘express‘);
var config = require(‘./config.js‘);
var router = require(‘./router.js‘);

var app = express();

// 注册路由
app.use(‘/‘, router);

// app.use(‘/public‘, express.static(path.join(__dirname)));
app.listen(config.port, () => console.log(‘Example app listening on port ‘ + config.port + ‘!‘))

  config.js

// 配置信息
module.exports = {
    port : 3001
};

  router.js

// 路由模块

// 1、创建一个router对象(既是一个对象,也是一个函数)
var path = require(‘path‘);
var express = require(‘express‘);
var handler = require(‘./handler.js‘);
var router = express.Router();

// 2、通过router对象设置(挂载)路由
router.get(‘/index‘, handler.index);
router.get(‘/list‘, handler.list);
router.use(‘/public‘, express.static(path.join(__dirname, ‘public‘)));

// 3、返回router对象
module.exports = router;

  handler.js

// 业务处理模块
var path = require(‘path‘);

module.exports.index = index; // 显示主页
module.exports.list = list; // 显示list页面

function index(req, res) {
    // res.send(‘index页面‘);
    res.sendFile(path.join(__dirname, ‘pages‘ , ‘index.html‘));
}

function list(req, res) {
    res.send(‘list页面‘);
}

原文地址:https://www.cnblogs.com/xy-ouyang/p/11154255.html

时间: 2024-11-05 19:27:16

node.js入门学习(四)--express的相关文章

node.js入门学习(四)--Demo

需求:图书的增删改查,图书数据保存在data.json文件中. 1.Demo结构: 2.首先下载安装node.js,配置环境变量:参考博客 3.项目初始化 1)创建项目根目录node-hello,进入到根目录node-hello,右键/在此处打开PowerShell窗口. 2)创建app.js文件. 3)在控制台输入命令:npm init -y,会自动创建package.json文件. 4)在控制台输入命令:npm install mime,会自动创建node_modules文件夹,并下载mim

node.js入门学习(四)--Demo模块化改造

1.node.js中模块的分类 1)node.js内置模块(核心,原生) 所有内置模块在安装node.js时就已经编译成二进制文件,可以直接加载运行(速度较快),部分内置模块,在node.exe这个进程启动时就已经默认加载了,可以直接使用. 2)文件模块 require(./common.js); // 去当前js文件的路径下找commom.js文件并导入执行.如果导入时没有指定文件后缀require(./commom),那么就按照commom.js,common.json,commom.nod

node.js入门学习

一.node.js介绍 1.1.node.js是什么 官网首页总结:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时. 1)node.js是一个开发平台,就像java开发平台..net开发平台.PHP开发平台.Apple开发平台一样. - 什么是开发平台:有对应的编程语言.有语言运行时.有能实现特定功能的API(SDK Software Development Kit) 2)node.js平台使用的编程语言是JavaScript. 3)node.js平台是

Node.js入门学习笔记(三)

基于事件驱动的回调 这个问题不好回答,不过这是Node.js原生的工作方式.它是事件驱动的,这也是它为什么这么快的原因.你可以花一点时间阅读一下Felix Geisendörfer的大作 Understanding node.js 可了解一些背景知识. 当我们使用http.createServer方法的时候,我们当然不只是想要一个侦听某个端口的服务器,我们还想要这在服务器收到一个HTTP请求的时候做点什么. 问题是,这是异步的,请求任何时候都可能到达,但是我们的服务器却跑在一个单进程中. 写PH

node.js入门学习(二)

一.构建http服务程序-根据不同请求做出不同响应 // 加载http模块 var http = require("http"); // 创建一个http服务对象 http.createServer(function(req, res) { if(req.url === '/') { res.end("hello index"); } else if(req.url === '/list') { res.end("hello list"); }

Node.js入门学习笔记(二)

函数传递 举例来说,你可以这样做: function say(word) {     console.log(word); } function execute(someFunction, value) {    someFunction(value); } execute(say, "Hello"); 请仔细阅读这段代码!在这里,我们把say函数作为execute函数的第一个变量进行了传递.这里返回的不是say的返回值,而是say本身! 这样一来,say就变成了execute中的本地

Node.js入门笔记

第一步自然是安装了,我是用Webstorm这个ide,安装分2步: 1.安装nodejs,下载Windows下的安装版本,注意是以msi为扩展名的,然后下一步,没啥好说的,下载地址如下: 32位的msi:http://nodejs.org/dist/latest/ 64位的msi:http://nodejs.org/dist/latest/ 2.安装WebStorm8.0.3,好像会自动找到nodejs的安装路径,不需要配置啥东东: 装好WebStorm,启动它,然后创建项目(New Proje

Node.js的学习资源、教程和工具

这篇文章编译整理自Stack Overflow的一个如何开始学习Node.js的Wiki帖,这份资源列表在SO上面浏览接近60万次,数千个收藏和顶.特意整理发布到这里,其中添加了部分中文参考资料. 学习指南和教程 NodeSchool.io 交互式课程 Node的艺术 (Node简介) Hello World Hello World Web Server Node.js 指南 使用Node.js, express和MongoDB创建一个博客 Node+MongoDB 100分钟建站攻略 Proj

node.js Web应用框架Express.js(一)

什么是Express.js Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用,提供丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健.友好的API变得快速又简单,Express 不对 node.js 已有的特性进行二次抽象,只是在它之上扩展了Web应用所需的功能. 开篇,这里就只做简单的介绍,整理一些有关express.js的资源,与大家一起学习 Express.js中文社区:http://expressjs.j