node.js

作者: sakatayui酱 | 来源:发表于2017-06-29 22:00 被阅读0次

    简单的说 Node.js 就是运行在服务端的 JavaScript。

    Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。

    Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。它对一些特殊用例进行了优化,提供了替代的API 使得V8引擎在非浏览器环境下运行的更好。

    node.js使用事件驱动、非阻塞io模型,而得以轻量和高效。

    node的模块

    为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。

    模块是Node.js 应用程序的基本组成部分,文件和模块是对应的。一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 等。

    创建一个模块,例:

    var hello=require('./hello');

    hello.world();

    上面代码中, require('./hello') 引入了当前目录下的hello.js文件。

    Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。

    接着创建hello.js:

    exports.world=function(){

    console.log('Hello World')

    ;}

    上面代码中,hello.js 通过 exports 对象把 world 作为模块的访问接口,在 main.js 中通过 require('./hello') 加载这个模块,然后就可以直接访 问 hello.js 中 exports 对象的成员函数了。

    封装模块:

    module.exports=function(){ ...}

    Node内建有一个模块,利用它可以很容易创建基本的HTTP服务器

    栗子:

    var http = require('http');

    http.createServer(function(req, res) {

    res.writeHead(200, {'Content-Type':'text/plain'});

    res.end('Hello World\n');

    }).listen(8080);

    console.log('Server running on port 8080.');

    Node.js中自带了一个叫做"http"的模块,我们在我们的代码中请求它并把返回值赋给一个本地变量。

    这把我们的本地变量变成了一个拥有所有 http 模块所提供的公共方法的对象。

    node.js通过内置的文件模块,我们可以很容易进行文件的输入/输出操作。fs模块有一个reFile方法,该方法以文件路径、回调函数为参数。该回调函数在完成文件读取后调用。文件数据读取后存储在。我们可以通过tostring()方法将它转化为字符串。

    异步回调

    Node.js典型的模式是使用异步回调。你让Node.js做事,它执行完后便会调用你的回调函数。这是因为Node是单线程的。在你等待回调函数执行过程中,Node可继续执行其他事务,不必被阻塞直到该请求完毕。

    这对于Web服务器尤其重要。在现代Web应用访问数据库的过程中特别普遍。当你等待数据库返回结果的过程中,Node可以处理更多请求。与每次连接仅处理一个线程相比,它使你以很小的开销来处理成千上万个并行连接。

    模块的路径解析规则

    1.核心模块:不需要写路径,直接加载;

    2.普通模块:如果不写路径,规则:

    //////1. 通过node_modules 现在本目录找,如果没有依次找上级

    //////2.通过配置环境变量 node_path 如果没有直接到该目录找

    先写到这里吧。。。node.js我不太熟。。

    相关文章

      网友评论

        本文标题:node.js

        本文链接:https://www.haomeiwen.com/subject/isvvcxtx.html