初识nodejs

既然了解了一些es6的一些新特性,那么接下来就学习一下node.js吧。本文只简单介绍一下node的初步使用,更多更具体的模块及方法可查看官方API,和我一样英文不好的可以查看中文版API

安装

nodejs官网(或nodejs中文网)下载安装文件,傻瓜式安装,不做介绍。

安装完成之后,打开cmd,键入node -v即可查询node版本

node版本

Hello World

在cmd中键入node并回车,如下图

node

之后将以下代码粘贴进去并敲击回车,你会看到

const http=require('http');
const hostname='localhost';
const port=9999;
const server =http.createServer(
    (req,res)=>{
        res.statusCode=200;
        res.setHeader('Content-type','text/plain');
        res.end('Hello World\n');
    }
)

server.listen(port,hostname,()=>{
    console.log('server is running');
})

hello

之后在浏览器的地址栏敲入localhost:9999–Hello World。
第一行代码中的require用来用来加载node的http模块(这个我们下面会说)。但是这样看起来很累有木有,node还支持将文件保存起来,通过node 文件路径来执行。将以上代码保存为test.js,并键入node test.js

单独文件

require、exports&module.exprots

require用来引入模块,exports和module.exports用于输出模块。
首先,创建calculator.js,内容如下:

let calculator={
    add(a=0,b=0){
        let res=a+b;
        console.log(res)
        return res;
    } 
    ,
    mul(a=0,b=0) {
        let res=a*b;
        console.log(res);
        return res;
    }

}

// exports.add=calculator.add;
// module.exports=calculator;

然后创建mod.js内容如下:

var mod=require('./mod');
console.log(mod);

//mod.add(3,8);

此时用node执行mod.js,可看到控制台打印出一个空对象{}

没有exports的mod.js

然后我们单独解开一个注释,再次运行mod.js,打印如下:

解开一个注释

由上可知:如果我们需要将模块mod中的一些东西暴露给调用的模块mod,那么需要将暴露的部分添加到exports或module.exports对象上。此时解开mod.js最后一行注释,便会得到3+8的值。

3+8=?

当我们同时解开mod.js的注释时会发生什么呢?

解开第二行注释

可以看到打印的mod对象和单独解开module.exports结果是一样的,说明require返回的其实是module.exports而非exports。
关于两者的区别可以看下官方介绍 module 对象,也可以看下 Node.js模块导出exports 和 module.exports 的区别

另外引用官方API的一句话:

如果希望模块根导出为一个函数(比如构造函数)或一次导出一个完整的对象而不是每次都创建一个属性,可以把它赋值给 module.exports 而不是 exports。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值