nodejs怎么学(会js学nodejs)

如何系统的学习nodejs

想要系统的学习node, 去Node的官网看doc把, 有能力的话一定要看英文原版, 把node几个核心模块的用法学会了, 再尝试用node去实现一个WebApp, 比如聊天室啊, blog之类的. 那么差不多你就入门了, 另外书的话, 推荐 @朴灵的[深入浅出Node.js] .

这里推荐一个taobao前端写的Node的入门教程 七天学会NodeJS.差不多看完LZ就该明白怎么学了.

nodejs初学相关依赖及配置安装

nodejs官网:

nvm:

Commonjs:

安装node自己操作

1,新建一个hello文件夹,下新建一个index.js文件,内容输入:

终端:cd 到hello文件夹,输入:

终端输出:

以上就是简单运行node

hello文件夹下新建个module.js文件输入:

终端运行:node module.js

首先通过npm 安装第三方包,比如安装request包:

安装完成后 ,hello文件夹下新建个module_2.js文件输入:

终端运行:node module_2.js

在hello文件夹下新建个src文件夹,下再建个greeting.js。输入:

然后,在hello文件夹下新建个module_3.js。输入:

终端运行: node module_3.js

常用命令可参考:

另:nrm是专门用来管理和快速切换私人配置的registry

参考:

怎么从零开始学习nodejs

首先必须明确两点: 异步事件驱动特性不是nodejs的,而是js的。 js是一门语言,一门真正的编程语言。 只是那些教程的代码例子使用了浏览器而已,一般也是在chrome的控制台里面,而不是在nodejs的命令行里。这些都不影响学习js。

node.js会很难学吗?

node里的js,和前端用的js不一样。。。。前端用的JS,俗称JAVASCRIPT1.0,正规名称是ECMAscript3,而node上用的JS,是ECMAscript6。。

尽管都叫ECMAscript,但相比之下,6和3几乎可以看成两门不同的语言。。3的语法在6中都有,但大概只有6语法总量的三分之一左右。。。另外三分之二,在3中是没有的。。3是基于对象的,而6是面向对象的。。比如6中有类,有lambda表达式,还有静态。。通过学习3,是根本不会涉及这些概念的。。

如果以3作为标准JS的话,那么6只有三分像JS,而七分像C#。。对于前端来讲,限于基础不足,NODE会显得非常难学。。。如果之前没学过C#或者JAVA,其实很难平滑过渡到NODE。。。比如下面这是一个类,你会觉得它是你所认为的JS代码?

class BaseResult{

constructor(code,msg,data){

this.code = code;

this.msg = msg;

***.data = data;

}

setCode(code){

this.code = code;

}

getCode(){

return this.code;

}

setMsg(msg){

this.msg = msg;

}

getMsg(){

return this.msg;

}

setData(data){

***.data = data;

}

getData(){

return ***.data;

}

getRes(){

return {\’code\’:this.code,\’msg\’:this.msg,\’data\’:***.data};

}

}

const SUCCESS = new BaseResult(0,\’成功\’,{a:10,b:[{c:10,d:20},{e:30,f:40}]});

console.log(SUCCESS);

所以如果你目前只是学习前端,NODE可以暂时跳过,因为你根本学不会,即便自己觉得会了,到了做项目,你就明白自己根本不是真会,不理解面向对象,根本做不了完整的后端项目。。。要想转到后端,面向对象的ES6是根本跳不过去的

如果将来有机会学学C#或者JAVA,养成了面向对象思想,再学NODE就会变得非常平滑。。

怎么学习nodejs websocket

NodeJS貌似在一直升温。的确,从去年就一直开始关注NodeJS了,那个时候还是吴玺喆同学和我谈起这个事情~~~回头我就算变扫了一下,无非就是在服务器端运行的JS而已。使用JavaScript作为指令调用底层的C++,这个思维模式还是挺不错的,并且在服务器端执行的效果也非常理想。那个时候想养肥了再看看,结果不到半年时间NodeJs已经有了飞速的发展,各方面的组件,各方面的社区文章介绍都已经非常全面了。NodeJS并且已经退出了Windows版本的安装程序。极大的方便了开发者(之前是在Ubuntu环境下部署的)。

webSocket 是一个非常不错特性,与其说是Html5的功能,不如说是浏览器支持的功能。Html5只是一个规范草案,添加了canvas,header,footer,nav,silder等一系列更加优化的语义标签,而Geolocation,webSocket,localStore等都是浏览器厂商支持的结果。(概念不要混淆哦)正好趁着去学习的时间,做了一个NodeJS与webSocket的小例子。拿出来和各位共享一下。

webSocket 是 Html5 的一种新的协议。它实现了浏览器与服务器的双向通讯。webSocket API 中,浏览器和服务器端只需要通过一个握手的动作,便能形成浏览器与客户端之间的快速双向通道,使得数据可以快速的双向传播。

通过一次简单的握手,建立了客户端和服务器端的联系之后,服务器便可以主动推送信息给客户端,而不需要客户端的反复轮询请求。在之前已经有谷歌的工程师尝试使用iframe来实现次功能,具体细节这里就不谈了,请各位自行谷歌。

webSocket 服务器商用已经很多了,这里不用 php,java 而是使用最近热得发烫的 NodeJs 来作为案例解析。

安装了NodeJS之后,我们可以通过一行简单的插件命令来安装 socket 模块。

npm install socket

然后引入包和启动服务器代码。

var http = require(\’http\’),

io = require(\’socket.io\’),

fs = require(\’fs\’);

//配置

var config = {

port : 8888

}

//创建服务器,监听端口。

http = http.createServer(handler);

http.listen(config.port);

//创建webscoket监听服务器

io = io.listen(http);

function handler(req, res) {

fs.readFile(__dirname+\’/client.html\’,

function(err, data){

req.setEncoding(encoding=\”utf8\”);

res.writeHead(200);

res.end(data);

});

}

io.sockets.on(\’connection\’,function(socket){

//定义事件

socket.on(\’msg\’,function(data){

socket.broadcast.emit(\’user message\’,data);

});

});

然后我们来编写我们的客户端

script src=\”\”/script

script type=\”text/javascript\”

var socket = io.connect(\’\’);

//Comet

socket.on(\’user message\’, function(msg) {

msgbox(msg.msg);

});

//发送消息

function sendMsg() {

var inpt = document.getElementById(\’txtInput\’);

var str = inpt.value;

if(str.length==0){

inpt.className=\”error\”;

alert(\”请输入发送的消息内容\”);

return false;

}

inpt.className = \”\”;

msgbox(str);

//发送消息至服务器的Scoket。

socket.emit(\’msg\’, {

msg : str

});

console.log(\'[client]\’ + str);

inpt.value = \”\”;

inpt.focus();

}

以上就是核心源代码。

0

评论0