Node.js学习笔记--第一天

什么是nodeJs?

对于web前端开发人员来讲,初期的js文件是在html文件中经过浏览器解析器来解析的,而node.js的出现,使得js文件也能被单独的解析。
  • 前端开发人员一提到js更多想到的是基于浏览器的dom操做,而运行在Node.js中的js做用多数是操做磁盘文件或搭建http服务,Node.js提供了相应的fs,http等内置对象。html

  • Node.js让前端如获神器,跳出了浏览器的窗口。前端

安装Node.js

  • NodeJS提供了一些安装程序,均可以在nodejs.org这里下载并安装。node

  • Windows系统下,选择和系统版本匹配的.msi后缀的安装文件。Mac OS X系统下,选择.pkg后缀的安装文件。web

运行

  • 终端直接输入代码运行正则表达式

    $ node
    
    > console.log("hello Kcoder");
    
    hello Kcoder
  • 建立js文件,终端运行js文件浏览器

    • 建立sayHello.jsdom

    (function(){
    
    console.log("hello Kcoder");
    
    })();
    • 终端输入模块化

    $ node sayHello.js
    
    hello Kcoder

模块

复杂程序尽可能模块化会使得逻辑结构更加清晰容易理解,在Node.js中require,exports,module这些预约义好的能够供使用。
  • require用来传入别的有导出模块的文件,这里的路径能够是相对路径,也能够是绝对路径,若是是.js文件,.js可y以省略。函数

var liuwen = require("./liuwen.js");

var liuwen = require("./liuwen");

var liuwen = require("c:/web/liuwen.js");
  • exports是用来导出模块的公有属性和方法,测试

exports.liuwen=function(){

    alert("liuwen");

}
  • module是替换当前模块的导出对象。例如模块导出对象默认是一个普通对象,若是想改为一个函数的话,可使用如下方式。

module.exports = function () {

    console.log('liuwen');
    
};

模块初始化

全部模块在执行过程当中只初始化一次。
  • 首先由以下结构目录

- part.js

- main.js
  • part.js内容

var i = 0;
    
    function sayNum (){

    return i += 1;
    
}
  • main.js内容

var part1 = require(./part.js);
    
    var part2 = require(./part.js);
    
    console.log(part1.sayNum());
    
    console.log(part2.sayNum());
    
    console.log(part2.sayNum());
  • 终端运行

$ node main.js
    
    1
    
    2
    
    3

因而可知并无被初始化两次。

小结

  • Node.js是一个js脚本解析器,操做系统下安装Node.js的实质是Node.js的执行程序复制到系统目录下,以便在终端可使用node命令。

  • 终端下直接输入node命令可进入命令交互模式,很适合用来测试一些JS代码片断,好比正则表达式。

  • NodeJS使用CMD模块系统,主模块做为程序入口点,全部模块在执行过程当中只初始化一次。

  • 除非JS模块不能知足需求,不然不要轻易使用二进制模块,不然你的用户会叫苦不迭。

相关文章
相关标签/搜索