Node.js学习笔记01-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Node.js学习笔记01

简介: Node.js学习

什么是nodeJs?

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

安装Node.js

  • NodeJS提供了一些安装程序,都可以在nodejs.org这里下载并安装。
  • Windows系统下,选择和系统版本匹配的.msi后缀的安装文件。Mac OS X系统下,选择.pkg后缀的安装文件。

运行

  • 终端直接输入代码运行

$ node


> console.log("hello Kcoder");


hello Kcoder

  • 创建js文件,终端运行js文件
    • 创建sayHello.js

(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模块不能满足需求,否则不要轻易使用二进制模块,否则你的用户会叫苦连天。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章