nodeJs 相关笔记

前端之家收集整理的这篇文章主要介绍了nodeJs 相关笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_301_0@nodejs的全局安装的模块都装到这里了:/usr/local/lib/nodemodules/


@H
3010@搞前段和后端开发,一个idea就够了,这个工具太牛逼了!


@H
301_0@用idea创建的express框架示例程序,改文件后直接刷新就行,自动完成监控。


@H_301_0@如果想手动监控,可以参考这里 <a href="http://www.cnblogs.com/aaronjs/p/3745218.html"&gt;http://www.cnblogs.com/aaronjs/p/3745218.html

安装supervisor

npm install -g supervisor

用supervisor启动js

supervisor app.js 

涉及到ES6,于是找到了一篇文章介绍ES6的特性

很喜欢下面几个特性:

  • @H_301_0@箭头操作符

  • @H_301_0@类的支持

  • @H_301_0@字符串模板

  • @H_301_0@参数默认值,不定参数,拓展参数

  • @H_301_0@let与const 关键字

  • @H_301_0@for of 值遍历

  • @H_301_0@iterator,generator

  • @H_301_0@模块

  • @H_301_0@Map,Set 和 WeakMap,WeakSet

  • @H_301_0@Proxies

  • @H_301_0@Math,Number,String,Object 的新API

  • @H_301_0@Promises

@H_301_0@js抛异常的时候,要注意那个异常类的第一个字符大写,小写不行!

// Throws with a ReferenceError because z is undefined
try {
    throw new Error("id: 不存在");
} catch (err) {
    // Handle the error here.
    console.log(err);
    console.error(e);
}
@H_301_0@console.log和console.error不太一样,log的是白色的,error的信息在控制台显示的是黄色的,ide为IDEA。

@H_301_0@nodejs处理post请求的时候,需要注意:

@H_301_0@如果是一般的表单默认行为(www-form-urlencoded)或者form-data的,都可以正常接收,如果是raw格式的,这时相当于传一个大文件上来,则需要发送端的raw数据是json格式的,而且请求的header也必须是 content-type:application/json 才可以。

@H_301_0@详细内容可以参考这篇文档:

然后在router里面可以进行post处理

//引入body-parser,然后进行一些设置

var bodyParser = require('body-parser');
app.use(bodyParser.json({limit: '2mb'}));
app.use(bodyParser.urlencoded({ extended: true }));

/**

  • 增加数据Post
    */
    router.post('/createUser',function (req,res) {
    console.log(req.body);
    res.send(req.body);
    });

此时postman有一个蛋疼的bug,自定义header有问题,发送的header总是文本,所以用curl来模拟

curl -H "Content-Type: application/json" -X POST -d '{"username":"xyz","password":"xyz"}' http://localhost:3000/users/createUser

感谢stack-overflow的帖子:
里面详细的讲解了如何通过命令行提交json格式的数据,然后再接收就正常了。

@H_301_0@其他参考文档:

@H_301_0@注意这里允许raw格式的post请求后,x-www-form-urlencoded格式的数据也一样可以处理,但是form-data的不行。因此,我们可以让前端程序员发送post请求时,把格式都改一下,别用form-data

@H_301_0@发送xml的方式如下:

curl -H "Content-Type: text/xml" -X POST -d 'asdf' http://localhost:3000/users/xml

猜你在找的程序笔记相关文章