nodejs入门学习

基础

node.js是用c++编写的一个javascript运行环境,特点:事件驱动、异步I/0。作为服务器端的javascript解释器,Node是一个轻量高效的开发平台,用户构建响应快速、高度可扩展的web应用,它使用事件驱动和非阻塞的I/O模型,非常适合开发数据密集、对实时响应要求高的分布式应用。

server.js //简单的http服务器

var http = require(‘http‘);
http.createServer(function(req, res) {
    res.writeHead(200, {‘Content-Type‘: ‘text/plain‘});
    res.end(‘hello world\n‘);
}).listen(8888);
console.log(‘server running at http://127.0.0.1‘);

执行:node server.js

模块

main.js

var hello = require(‘./hello‘);
hello.world();

hello.js

exports.world = function() {
    console.log(‘hello world‘);
}

main1.js

var Hello = require(‘./hello1‘);
hello = new Hello();
hello.setName(‘aaa‘);
hello.sayHello();

hello1.js

function Hello() {
    var name;
    this.setName = function(myname) {
        name = myname;
    }
    this.sayHello = function() {
        console.log(‘hello ‘ + name);
    }
}
module.exports = Hello;

事件

event.js

var EventEmitter = require(‘events‘).EventEmitter;
var event = new EventEmitter();
event.on(‘event1‘, function() {
    console.log(‘event1 occured.‘);
});
setTimeout(function() {
    event.emit(‘event1‘);
}, 1000);

event1.js

var events = require(‘events‘);
var emitter = new events.EventEmitter();
emitter.on(‘event1‘, function(arg1, arg2) {
    console.log(‘listener1‘, arg1, arg2);
});
emitter.on(‘event1‘, function(arg1, arg2) {
    console.log(‘listener2‘, arg1, arg2);
});
emitter.emit(‘event1‘, ‘aaa‘, 123);

更多参考http://www.w3cschool.cc/nodejs/nodejs-event.html

路由

index.js

var server = require(‘./server‘);
var router = require(‘./router‘);
server.start(router.route);

server.js

var http = require(‘http‘);
var url = require(‘url‘);
function start(route) {
    function onRequest(req, res) {
        var pathname = url.parse(req.url).pathname;
        console.log(‘request for ‘ + pathname + ‘ received.‘);
        route(pathname);
        res.writeHead(200, {‘Conten-Type‘: ‘text/plain‘});
        res.write(‘hello, world‘);
        res.end();
    }
    http.createServer(onRequest).listen(8888);
    console.log(‘server has started.‘);
}
exports.start = start;

router.js

function route(pathname) {
    console.log(‘about to route a request for ‘ + pathname);
}
exports.route = route;
时间: 2024-07-30 06:17:48

nodejs入门学习的相关文章

NodeJs入门学习笔记

一.阻塞与非阻塞 阻塞是按顺序执行的.    有先后顺序. input.txt文件内容是: 我是阻塞 var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data.toString()); console.log("程序执行结束!"); 输出结果是: 我是阻塞 程序执行结束! 而非阻塞是不需要按顺序的,所以如果需要处理回调函数的参数,我们就需要写在回调函数内. in

[Todo] Nodejs学习及Spider实验(包括php入门学习、React入门学习)

/Users/baidu/Documents/Data/Interview/Web-Server开发 深入浅出Node.js-f46c http://blog.csdn.net/u012273376/article/details/52736906 利用nodejs做爬虫 http://www.runoob.com/nodejs/nodejs-callback.html nodejs学习之路 http://www.runoob.com/php/php-tutorial.html php学习之路

NodeJS入门

NodeJS入门 来源于: http://www.nodebeginner.org/index-zh-cn.html 作者: Manuel Kiessling 翻译: goddyzhao &GrayZhang &ondayChen 关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对新版本Node.js的改动进行

NodeJS入门--环境搭建 IntelliJ IDEA

NodeJS入门–环境搭建 IntelliJ IDEA 本人也刚开始学习NodeJS,所以以此做个笔记,欢迎大家提出意见. 1.首先 下载安装NodeJS,下载安装IntelliJ IDEA 2.接下来我们详细介绍在IDEA中配置NodeJS 默认安装好了IDEA,在IDEA的file -> setting ->Plugins,右边默认是没有这个组件的需要你手动点击Browe repositories..,在插件列表中搜索nodejs,将看到NodeJS插件,点击下载,重启,(其实它会关联到你

node入门学习(一)

一.安装node.js 方式很多npm,git等,新手建议从官网上直接去下载node的安装包.一键安装. 二.创建一个web服务器. const http = require('http'); http.createServer(function(request,response){ response.writeHead(200,{'Content-Type':'text/plain'}); response.end('Hello World'); }).listen(8888); consol

Nodejs 入门秘籍,搭一个最简单的web服务器。(菜鸟的你也能秒懂)

心血来潮,总结了一个Nodejs入门秘籍.看了你就想学NodeJs了. 一.简单介绍nodejs 初学nodejs  ,直接上简单实例.先简单说明一下:nodejs ,nodejs相当于服务器端的 可以轻易搭建一个服务器端. nodejs是用C++开发的一种运行于服务器端的语言,可以写网站后台程序,可以做服务端应用开发,语法和JAVASCRIPT一样,会JS,就是会NodeJS,区别于,普通JS是脚本运行客户端,而NODEJS中的JS是运行于服务器端,NODEJS的作用相当PHP,ASP等语言.

01.Nodejs入门之Helloworld

说明:本文章可供有一定js基础的朋友参考nodejs入门,本文未讲解nodejs的安装,如有需要的同学可以加QQ3382260752找我,进行交流学习. 1.新建文件夹helloworld demo,然后新建文件server.js,将以下代码拷贝至server.js var http = require('http'); http.createServer(function (request, response) { //request 可以简写req,  response可以简写为res //

Retrofit 入门学习

Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user); } 这些注解都有一个参数 value,用来配置其路径,比如示例中的 users/{user}/repos, 我们还注意到在构造 Retrofit

JavaSE入门学习21:Java面向对象之接口(interface)(二)

一接口实现的多态 在上一篇博文:JavaSE入门学习20:Java面向对象之接口(interface)(一)中提到了接口的实现存在多态性,那么 这一篇主要就要分析接口实现的多态. 实例一 Test.java源文件代码: public class Test{ public static void main(String[] args){ //实现接口Singer Singer s1 = new Student("Amy"); s1.sing(); s1.sleep(); s1.study