文档章节

Express----学习

没有人是一座孤岛
 没有人是一座孤岛
发布于 2016/12/12 19:42
字数 642
阅读 12
收藏 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
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
0
前端那些事之node+express+koa学习

《搭建 Node.js 开发环境》 windows 环境 直接从 github clone nvmw 到本地, 这里假设大家都使用 d:git 目录存放 git 项目 设置 d:gitnvmw 目录到你的 PATH 环境变量中: 重新打开你的终端, 输...

上官清偌
2017/10/31
0
0
基于node · Express框架总结

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

搜狗搜到你
2017/11/15
0
0
Node.js的学习资源、教程和工具

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

伯乐在线
2014/08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流量劫持是如何产生的?

流量劫持,这种古老的攻击沉寂了一段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由...

谢思华
10分钟前
0
0
Hadoop Client无法使用maven下载源码

最近在学习hadoop,使用maven的时候想看一下源码的注释,结果IDEA一直提示无法下载 搞得我一度以为maven坏掉了。 但是通过搜索,发现在maven仓库里确实没有源码.... 而2.8.1以及之前的版本是...

Iceberg_XTY
11分钟前
0
0
为什么程序员千万不要重写代码?

你所做的事情,也许暂时看不到成果,但不要灰心或焦虑,你不是没有成长,而是在扎根。 图片来自网络 0 前言 程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的...

Java小铺
13分钟前
0
0
VUE集成AdminLte

1. 安装需要到插件 npm i admin-lte -Snpm i jquery -Snpm i axios -Snpm i vue-router -S 2. 配置webpack.config.js 2.1 module.exports.module.rules修改字体loader: {test: /\.(p......

Pasenger
51分钟前
0
0
Spring Aop原理之切点表达式解析

在前面的文章(Spring AOP切点表达式详解)中,我们总结了Spring Aop切点表达式的用法,而在上文(Spring Aop原理之Advisor过滤)中我们讲到,切点表达式的解析主要是在PatternParser.parse...

爱宝贝丶
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部