亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

2018-05-23

標簽:
Node.js

node.js简介及安装

node.js是围绕着javascript开发的,js是脚本语言,脚本语言需要解析器才可以运行。对于写在html中的js,浏览器就充当了脚本的解析器,而对于要独立运行的js脚本来说,node.js就是一个解析器了。
解析器其实就是一个运行环境,可以让js在运行环境中进行各种变量赋值,计算等行为,并且还提供了各种内置对象和方法来让js进行更多的操作。例如在浏览器中运行的js主要就是操作DOM,浏览器这个运行环境提供了document之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应的提供了fs、http等内置对象。

node.js安装

node.js下载地址
Windows系统下,选择和系统版本匹配的.msi后缀的安装文件。Mac OS X系统下,选择.pkg后缀的安装文件。

如何运行

打开终端,输入node,进入命令交互模式,此时可以输入语句执行并显示

$ node
> console.log('Hello World!');
Hello World!undefined

在这个地方运行console.log()输出的时候,会发现除了会正常输出Hello World以外,还会紧接着输出一条undefined。
刚开始不明白undefined是怎么打印出来的,后来发现undefined是console.log()的返回值,而非正常打印的结果,所以显示出来的undefined是以百分之五十透明度显示的。

如果要运行一大段代码的话,可以先写一个JS文件再运行。例如有以下hello.js。

function hello() {    console.log('Hello World!');
}
hello();

写好后在终端下键入node hello.js运行,结果如下:

$ node hello.js
Hello World!

模块

在编写比较大的程序中,一般都会将代码模块化。在node.js中,会将代码拆分成不同的js,而每一个js文件,就是一个模块,文件的路径就是模块名。
在编写每个模块时,都有 requireexportsmodule三个预先定义好的变量可供使用。

require
require函数用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块导出对象。
模块名可使用相对路径(以./开头),或者是绝对路径(以/或C:之类的盘符开头)。另外,模块名中的.js扩展名可以省略。

var header = require("./header")var header1 = require("./header.js")

同时,可以利用require来加载和使用一个JSON文件。

 var data = require("./data.json")

exports

exports对象是当前模块的导出对象,用于导出模块公有方法和属性。别的模块通过require函数使用当前模块时得到的就是当前模块的exports对象。以下例子中导出了一个公有方法。

exports.hello = function () {    console.log('Hello World!');
};

module

通过module对象可以访问到当前模块的一些相关信息,但最多的用途是替换当前模块的导出对象。例如模块导出对象默认是一个普通对象,如果想改成一个函数的话,可以使用以下方式。

module.exports = function () {    console.log('Hello World!');
};

模块初始化

一个模块中的JS代码仅在模块第一次被使用时执行一次,并在执行过程中初始化模块的导出对象。之后,缓存起来的导出对象被重复利用。



作者:我是一名老java
链接:https://www.jianshu.com/p/25213cb352d6


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消