文档章节

Express----学习

没有人是一座孤岛
 没有人是一座孤岛
发布于 2016/12/12 19:42
字数 642
阅读 11
收藏 0
点赞 0
评论 0

Express

install  the Express farmwork globally using  NPM    安装Express模块:

npm install Express

install  important modules along with express   安装一些由express支持的中间件组件

npm install body-parser                            处理JSON ,Raw, Text,URL编码

npm install cookie-paeser                        请求读取cookie并在响应中设置cookie

npm install multer                                      处理 multipart/form-data

npm install basic-auth-connet                 提供对基本HTTP身份验证的支持

npm install  compression :                    提供Gzip压缩支持

Express添加到package.json模块,确保你部署应用的时候,模块被安装

Serving Static File 静态文件服务:

Express provides a built-in middleware express-static to serve static file ,such as image,CSS,Javascript,etc.

static中间件可以直接从磁盘对客户端提供静态文件服务:express.static(path,[options])

var express=require('express');//加载experss模块
var app=express();
app.use(express.static('untitled'));//静态文件服务

index.html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>My blogger</title>
    <form action="http://127.0.0.1:8081/process_get"method="POST">
        First Name:<input type="text"name="first_name"><br>
        Last  Name:<input type="text"name="last_name">
        <input type="submit"value="Submit">
    </form>
<form action="http://127.0.0.1:8081/file_upload"method="POST" 
      enctype="multipart/form-data">
    File:<input type="file"name="file"size="50"/>
    <br>
    <input type="submit"value="Upload File"/>
</form>
</head>
<body>
</body>
</html>

处理GET请求:

var express=require('express');//加载experss模块
var app=express();
app.use(express.static('untitled'));//静态文件服务
app.get('/index.html',function (req,res) {//-提交/index.html get请求
    res.sendFile(__dirname+"/"+'index.html');

});
app.get('/process_get',function (req,res) {//-提交/process_get 请求
    response={
        first_name:req.query.first_name,
        last_name:req.query.last_name
    };
    console.log(response);
    res.end(JSON.stringify(response));   //JSON格式
});
var server=app.listen(8081,function () {
    var host=server.address().address;
    var port=server.address().port;
});

处理POST请求:

var express=require('express');//加载experss模块
var app=express();
var bodyParser=require('body-parser');//body-parser把post正文中的JSON数据解析为req.body属性
var urlencodedParser=bodyParser.urlencoded({extended:false});
app.use(express.static('untitled'));//静态文件服务
app.get('/index.html',function (req,res) {//-提交/index.html get请求
    res.sendFile(__dirname+"/"+'index.html');

});
app.post('/process_get',urlencodedParser,function (req,res) {
    response={
        first_name:req.body.first_name,
        last_name:req.body.last_name
    };
    console.log(response);
    res.end(JSON.stringify(response));   //JSON格式
});
/*app.get('/process_get',function (req,res) {//-提交/process_get 请求
    response={
        first_name:req.query.first_name,
        last_name:req.query.last_name
    };
    console.log(response);
    res.end(JSON.stringify(response));   //JSON格式
});*/
var server=app.listen(8081,function () {
    var host=server.address().address;
    var port=server.address().port;
});

問題:

var express=require('express');//加载experss模块
var app=express();
var fs=require('fs');
var bodyParser=require('body-parser');
var multer=require("multer");
var urlencodedParser=bodyParser.urlencoded({extended:false});

app.use(express.static('untitled'));//静态文件服务
app.use(urlencodedParser);
app.use(multer({ dest:'/vives/'}));

app.get('/index.html',function (req,res) {//-提交/index.html get请求
    res.sendFile(__dirname+"/"+'index.html');

});

app.post('/process_get',urlencodedParser,function (req,res) {
    response={
        first_name:req.body.first_name,
        last_name:req.body.last_name
    };
    console.log(response);
    res.end(JSON.stringify(response));   //JSON格式
});

app.post('/file_upload',function (req,res) {
    var file=__dirname+'/'+req.files.file.name;
    fs.readFile(req.files.file.path,function (err,data) {
       fs.write(file,data,function (err) {
           if(err){
               console.error(err);
           }else{
               response={
                   message:'File upload successfully',
                   filename:req.files.file.name
               };
           };
           console.log(response);
           res.end(JSON.stringify(response));
       }) ;
    });
});
/*app.get('/process_get',function (req,res) {//-提交/process_get 请求
    response={
        first_name:req.query.first_name,
        last_name:req.query.last_name
    };
    console.log(response);
    res.end(JSON.stringify(response));   //JSON格式
});*/
var server=app.listen(8081,function () {
    var host=server.address().address;
    var port=server.address().port;
});

module.js:328
    throw err;
    ^

Error: Cannot find module 'multer'

 使用 sudo npm install multer -g  在運行還報錯    需安裝在node_modules下 (相關路徑)

© 著作权归作者所有

共有 人打赏支持
没有人是一座孤岛
粉丝 2
博文 5
码字总数 1362
作品 0
express+mongodb制作简单的文章发布系统(一)之环境的搭建

express+mongodb建立简单的文章发布系统 最近转战后端,发现还是nodejs比较好玩,就抽时间做个小玩意来练练手,回忆一下nodejs 使用了express 我看了一下,发现还是expres脚手架比较简洁,直接生成...

Smallmotor ⋅ 2017/10/28 ⋅ 0

windows下node.js之 express框架+jade模板搭建

1、node.js安装 在Windows平台部署Node.js比较容易,从0.6.1开始,Node.js在Windows平台上可直接通过.mis文件安装。 下载地址http://nodejs.org/#download 目前最新版本是 node-v0.8.3-x86....

YouDoce ⋅ 2012/07/22 ⋅ 0

基于node · Express框架总结

————— --- --- —————— Express Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,可以轻松的创建各种 web 或者移动端应用 提供了一个轻量级模块,把nodejs的htt...

搜狗搜到你 ⋅ 2017/11/15 ⋅ 0

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

这篇文章编译整理自Stack Overflow的一个如何开始学习Node.js的Wiki帖,这份资源列表在SO上面浏览接近60万次,数千个收藏和顶。特意整理发布到这里,其中添加了部分中文参考资料。 学习指南和...

90后爱国 ⋅ 2015/07/21 ⋅ 0

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

本文由伯乐在线 -伯小乐 翻译。未经许可,禁止转载! 英文出处:Stack Overflow。欢迎加入翻译组。 这篇文章编译整理自Stack Overflow的一个如何开始学习Node.js的Wiki帖,这份资源列表在SO上...

伯乐在线 ⋅ 2014/08/11 ⋅ 0

Node.js开发框架Express4.x

前言 Nodejs是一个年轻的编程框架,充满了活力和无限激情,一直都在保持着快速更新。基于Nodejs的官方Web开发库Express也在同步发展着,每年升级一个大版本,甚至对框架底层都做了大手术。在...

痕無影 ⋅ 2015/08/07 ⋅ 0

想用vue做为expess的渲染引擎,有谁用过express-vue?

express使用vue作为渲染引擎的话,有什么可以推荐的组件么?不考虑ejs或者jade。 我网上搜索到用express-vue这组件,但是调试的时候,一直报错:[TypeError: Cannot read property 'F_OK' o...

OSC_DAuvmF ⋅ 2017/06/19 ⋅ 0

nodejs框架之express

Express介绍 npm提供了大量的第三方模块,其中不乏许多Web框架,比如我们本章节要讲述的一个轻量级的Web框架 ——— Express。 Express是一个简洁、灵活的node.js Web应用开发框架, 它提供一...

笔阁 ⋅ 2015/10/12 ⋅ 0

快速使用node.js进行web开发

原文:http://www.cnblogs.com/myzhibie/p/4458584.html?utmsource=tuicool&utmmedium=referral 首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将nod...

adbug ⋅ 2016/10/09 ⋅ 0

开始nodejs+express的学习+实践(1)

1.express的安装 如何安装express http://www.expressjs.com.cn/starter/installing.html 这个就不用多说了,检测是否成功和express的版本 express -V v要大写 2.利用express创建项目 执行命...

透笔度 ⋅ 2015/12/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 32分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 53分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 今天 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 今天 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 今天 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 今天 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部