文档章节

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框架总结

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

搜狗搜到你
2017/11/15
0
0
前端那些事之node+express+koa学习

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

上官清偌
2017/10/31
0
0
Node.js的学习资源、教程和工具

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

伯乐在线
2014/08/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IDEA 鼠标跳到下一行

敲代码时有时会出现这样的情况,鼠标在图中的位置,还需要手动将鼠标移动到这行的末尾然后再回车才能到新的一行。 用【Shift + Enter】,可以【IDEA新建一行,并且光标移到新行】...

karma123
7分钟前
2
0
在Kubernetes集群中部署ownCloud云盘系统

ownCloud ownCloud is a file sharing server that puts the control and security of your own data back into your hands. 参考 建立自己的共享云盘 - 使用ownCloud 远程访问家里机器的文件......

openthings
9分钟前
1
0
Python编写的以太坊虚拟机的新实现Py-EVM

Py-EVM是用Python编写的以太坊虚拟机的新实现。目前github上695个star,正在积极开发中,但正在通过以太坊/测试提供的测试套件快速推进。我们感谢有Vitalik和现有的PyEthereum代码,使得我们...

geek12345
10分钟前
1
0
(2)集成element-ui

(2)集成element-ui 1 安装element-ui依赖 cnpm install --save element-ui 2 按需引入 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。 首先,安装 ...

neumeng
15分钟前
2
0
linux下tree命令的用法解释

tree命令,主要功能是创建文件列表,将所有文件以树的形式列出来 linux下的tree就比较强大了,但一般系统并不自带这个命令,需要手动下载安装。 安装 : 1 yum -y install tree -a 显示所有文...

嘘嘘者
28分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部