• 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进行导出

  • 相关阅读:
    Pythoy 数据类型序列化——json&pickle 模块
    Python xml 模块
    Spring MVC <mvc:annotation-driven/>的作用
    Spring MVC学习笔记
    springboot配置logback日志
    Git master合并分支时提示“Already up-to-date”
    解决idea tomcat乱码问题
    MYSQL 八大优化方案
    SpringBoot项目集成PageHelper使用
    Git--远程仓库版本回退方法
  • 原文地址:https://www.cnblogs.com/hzqzwl/p/12316780.html
Copyright © 2020-2023  润新知