node初探(很全的hello world工程)
Posted yuanGrowing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node初探(很全的hello world工程)相关的知识,希望对你有一定的参考价值。
1、使用node的简单体会 这两天稍微学了一下node,体会了一下传说中的异步编程语言,然后写了个简单的小demo。 node给我的感觉首先是短小精悍,开启一个服务器竟然只需要短短的几行代码,使用现成的框架(我把node里面提供的模块理解为框架)也只需要几行代码,连配置文件都不要。 其次,在node里面使用数据库太方便了,从mysql数据库中取出来的数据直接就是object,而且node对于json格式的数据有很好的支持。 至于node的其他的好处和不足,我想只有经过很多的实战才能真正的理解吧。 2、使用Idea,将node和mongodb结合实现一个拥有增删该查的小Demo 2.1 在动手之前还是得先学几个知识点。 2.1.1 异步编程 在说异步之前,先看看什么是非异步。如果你用过java socket,那么就很容易理解了,我们会在服务器端以阻塞的方式等待 一个s ocket的连接,看如下代码,只有在服务器的accept函数收到一个socket连接的时候,才会去执行之后的代码,否则的话什么 也不 会去做。 而如果是异步的方式,在没有收到socket连接的时候它也能执行后面的代码。 我前几天看过一本书上讲过其实异步才是人们生活中常用的逻辑,因为你不可能因为等一个快递然后就一天都处于等的状态, 你也不可能因为在上课的时候等下课却不玩手机。异步提高了人们的生活效率,也提高了程序的运行效率,但是因为非异步的思维 帮助我们更容易的写出代码,所以以前的语言大多都是非异步的。 (异步的概念其实很简单,但是一旦用起来就会很不习惯)
Socket socket=null; try socket=serverSocket.accept(); catch(IOException e) e.printStackTrace(); finally //其他操作 //其他操作 |
mongod --dbpath db文件夹的路径(比如我的 mongod --dbpath D:\\mongodb\\data\\db)
|
![](https://image.cha138.com/20221130/0ce316ff015e4a59a2d327da07b6e0b4.jpg)
![](https://image.cha138.com/20221130/31542235a4b446468881c7aa7dbeb224.jpg)
当然,首先你得安装好node,怎么安装请自行百度吧
idea是个很好的编辑器,它也提供了对node.js的支持,不过得自己装一个插件。 打开idea,进到file-settings-plugin里面,搜索node,然后安装(下面我的截图是已经装好了的)。
![](https://image.cha138.com/20221130/2e4efdd4fca34e8589ae173f7d6f804e.jpg)
![](https://image.cha138.com/20221130/ab78c552fbb34541be939dbe9ca758f4.jpg)
![](https://image.cha138.com/20221130/e9b636ad6f5b4d1fa0bc239f1e4c1c98.jpg)
var server = app.listen(8081,function(req,res) |
![](https://image.cha138.com/20221130/c6571840dad14efcbf603e7c47cfcb5b.jpg)
![](https://image.cha138.com/20221130/d2d971c6c1654539a492e13c45d7bca2.jpg)
![](https://image.cha138.com/20221130/6caccdb44d3742c5b4edd0970c3fc00e.jpg)
![](https://image.cha138.com/20221130/62123edf7c764b23a089db64d91dc77d.jpg)
<div id="query"> |
/* GET home page. */ |
router.get('/query.do',function(req,res,next) |
![](https://image.cha138.com/20221130/d8de7dd78ef84444a5555df8ca77951e.jpg)
![](https://image.cha138.com/20221130/74752c5c417d4396a93b6c09a8d4afd1.jpg)
![](https://image.cha138.com/20221130/737c7fc15a774085a454f13f55b96189.jpg)
var mongodata = require("mongodb"); exports.db = db ; |
var mongodata = require("mongodb"); //测试代码 db.collection("user", function (err, docs) //先执行collection函数,对接上user集合,然后将user集合里面的数据作为回调函数中的docs,然后就执行回调函数 |
![](https://image.cha138.com/20221130/7071977ca3e44a4cab3cbcf933dd8311.jpg)
router.get('/query.do',function(req,res,next) |
router.get('/add.do',function(req,res,next) |
router.post('/remove.do',function(req,res,next)//这里使用的post的请求哦! |
router.post('/update.do',function(req,res,next)
//这个函数自己理解一下吧
|
以上是关于node初探(很全的hello world工程)的主要内容,如果未能解决你的问题,请参考以下文章