node.js的基础操作

安装nodejs和npm的过程就不描述了

我推荐使用vscode,其中有插件库,可以直接搜索插件进行下载Terminal ,然后不用去打开电脑自带的cmd,而是直接在页面右击打开

 

 

 这样下面就会出现终端cmd的运行环境

 

 

 

当然我们也可以通过寻找路径的方式来自己运行

在终端中直接输入  node   就可以运行

在node中,基本运算和和输出的方式与js一致

 

 

 但node有个特点

_  英文下划线代表着上一个数值的输出,也就是最后一个输出值

例如这样

 

 

我们还可以利用此特性进行简单运算

 

 

 

 既然可以这样,我们也能其赋值

 

 

 这些都是node的基础小知识,接下来谈谈node中模块的导出和引用

在将模块之前,我们得知道在node中运行js文件

例如

 

 

 在终端中,我们运行其js的时候不仅需要找到正确的运行环境,还要在被运行的js文件之前加上  node  而文件可以只写文件名,也可以把后缀加上,都能运行

好,接下来我们了解一下模块

什么是模块?

在我们要举的例中,一个js文件就是一个模块,而每个模块都有自己的作用域一样

下面我们来看

 

 

当前名为  app   的js文件找中创建了一个num函数,num函数的左右就是将a和b相加,

接下来我们再创建另一个js文件,用来调用其模块

 

 

 

我们看到   app2   这个文件,

require的作用就是加载,也可称之为引入

require 可加载 .js、.json 和 .node 后缀的文件

在这里我们就是引入  app这个js文件了,所以路径一定要正确

引入成功的话会输出30这个值,接下来我们来看看运行效果

 

 

 报错了,他说ret不是一个方法,为什么呢?

因为在app.js中我们并未导出num这个方法,所以我们必须要导出方法,app2.js才可以引用到

 

 

用exports进行导出后,我们才能在  app2.js中引用到 

然后我们来看看用exports的导出的,是什么类型的数据

 

 

 我们能看到输出为一个对象(object)类型,但是输出引用的类型的时候是对象的形式

然后我们看看另外一中导出的方式   module

 

 

 这种导出方式,我们就需要改动一下app2.js中的调用方式

 

 

 我们可以看到输出的为函数(Function)类型,输出引用的类型的时候是一个数组的样式,

这里我们可以了解这两中导出方式的作用都是导出模块的,但是区别是

exports 返回的是一个函数模块,一直都会是一个object,

我们可以做个验证,在app中只输出一个数字,然后在app2中调用

 

 

 我们可以看到不管写入任何类型,输出类型都是object,

也可以知道exports的输出形式为:{ name : function}

而moudle.exports返回的则是模块对象本身,返回的是一个类

我们可以再看看同样导出的是一个数字,他会输出什么

 

 

 返回为number类型,验证成功

其实这两中出方式在本质上是一样的,

 

 

 

但是还是建议使用exports进行导出

 

posted @ 2020-02-16 14:35  摆烂第一  阅读(311)  评论(0编辑  收藏  举报