nodeJs 相关笔记

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

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

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

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

如果想手动监控,可以参考这里

安装supervisor

npm install -g supervisor

用supervisor启动js

supervisor app.js 

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

很喜欢下面几个特性:

  • 箭头操作符

  • 类的支持

  • 字符串模板

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

  • let与const 关键字

  • for of 值遍历

  • iterator,generator

  • 模块

  • Map,Set 和 WeakMap,WeakSet

  • Proxies

  • Math,Number,String,Object 的新API

  • Promises

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);
}

console.log和console.error不太一样,log的是白色的,error的信息在控制台显示的是黄色的,ide为IDEA。

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

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

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

然后在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格式的数据,然后再接收就正常了。

其他参考文档:

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

发送xml的方式如下:

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

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