第一天,导入、导出和模块化

Node.js的介绍和安装就直接略过了吧!!!

Node.js采用的是CommonJs规范,在Node.js中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名。

Node.js中模块的分类:

  • 核心模块(已封装内置模块);
  • 自定义的模块;
  • 第三方的模块(npm);

1.require

require函数用来导入,传入一个模块名,返回一个模块导出对象。

require()函数用两个作用:
  • 执行导入的模块中的代码;
  • 返回导入模块中的接口对象;
    用法:let 自定名称 = require("模块名")
    例如:let main = require('./main.js')
  • 在没有任何内容导出去的情况下获取,导入得到一个空对象。
  • require获取文件路径时,可以不加后缀名,默认的后缀名就是js。例:let main = require('./main')

2.exports和module.exports

exports用来导出当前模块的公共方法或属性。
module.exports用来导出一个默认对象。

用法:exports.a = a;
module.exports.c = c;

exports.a1 = function () {
  console.log(a1)
}

module.exports = function () {
  console.log(a2)
}
  • 系统默认:exports = module.exports;
  • 注意使用exports时,只能单个设置属性exports.a = a;
  • 使用module.exports可以单个设置属性,也可以整个赋值;

3.模块的初始化

模块中的js代码仅在模块第一次被使用时执行一次,并且在使用的过程中进行初始化,之后缓存起来便于后续继续使用。

完整示例:

index.js文件,里面定义了一个求和的函数。

var a = 1;
function add () {
  return ++a;
}
exports.add = add
//或者module.exports.add = add

在项目的主模块 main.js中引入index.js

var index1 = require('./index')
var index2 = require('./index')

console.log(index1.add())  //结果为2
console.log(index2.add()) //结果为3

可以看出index.js没有因为引入两次而初始化两次,说明模块只会在执行的过程中被初始化一次。

附上npm常见命令:

  1. npm -v:查看npm版本。
  2. npm init:初始化后会出现一个package.json配置文件。可以在后面加上-y ,快速跳过问答式界面。
  3. npm install:会根据项目中的package.json文件自动下载项目所需的全部依赖。
  4. npm install 包名 --save-dev(npm install 包名 -D):安装的包只用于开发环境,不用于生产环境,会出现在package.json文件中的devDependencies属性中。
  5. npm install 包名 --save(npm install 包名 -S):安装的包需要发布到生产环境的,会出现在package.json文件中的dependencies属性中。
  6. npm list:查看当前目录下已安装的node包。
  7. npm list -g:查看全局已经安装过的node包。
  8. npm --help:查看npm帮助命令。
  9. npm update 包名:更新指定包。
  10. npm uninstall 包名:卸载指定包。
  11. npm config list:查看配置信息。
  12. npm 指定命令 --help:查看指定命令的帮助。
  13. npm info 指定包名:查看远程npm上指定包的所有版本信息。
  14. npm config set registry https://registry.npm.taobao.org: 修改包下载源,此例修改为了淘宝镜像。
  15. npm root:查看当前包的安装路径。
  16. npm root -g:查看全局的包的安装路径。
  17. npm ls 包名:查看本地安装的指定包及版本信息,没有显示empty。
  18. npm ls 包名 -g:查看全局安装的指定包及版本信息,没有显示empty。

今天只有学习了,没有购物剁手,因为我没钱,哈哈!

日期:2021/11/11

学习参考视频https://www.bilibili.com/video/BV1i7411G7kW?p=2&t=3157.7

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 11,292评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 11,811评论 0 2
  • 今天上午陪老妈看病,下午健身房跑步,晚上想想今天还没有断舍离,马上做,衣架和旁边的的布衣架,一看乱乱,又想想自己是...
    影子3623253阅读 7,970评论 3 8