exports.xxx = xxx
或module.exports=xxx
或this.xxx=xxx
require
函数导入node实现了CommonJS规范
在编写模块时,都有require、exports、module三个预先定义好的变量可以使用。
require{}函数的两个作用
执行导入的模块中的代码;
返回导入模块中的接口;
let a = require('./b');
console.log(a);
let a = 123;
exports.a = a;
modules.exports 默认就是等于 exports
let a = 123;
let b = 23;
let c = 789;
exports.a = a;
module.exports.c = c;
如果我们想要使用第三方包,那么就需要npm去下载,Node.js中使用CommonJs模块化机制,通过npm下载第三方包,
我们在项目中引入第三方包都是let xx=require('第三方包名');究竟require 方法加载第三方包的原理机制如下:
let tempate = require('art-template') //加载第三方包
设置国内npm 镜像地址
npm install -g cnpm --registry=https://registry.npm.taobao.org
等待安装成功
然后比如要引入jquery 那么执行
npm install jquery
然后重新查看目录就会发下 多了一个node_modules 文件夹,这个文件夹下的就是你所引入的第三方包
然后使用require使用jQuery
let $ = require('jquery');
2.找到该第三方包中的package.json文件,并且找到里面的main属性对应的如果模块,该入口模块即为加载的第三方模块。
所以jquery.js 就在 dist目录下
很明显,可以看到 module.exports 的实现方法。
3.如果在要加载的第三方包中没有找到package.json 文件或者是在package.json文件中没有main 属性
则默认加载第三方包中的index.js文件。
4.如果在加载第三方模块的文件的同级目录没有找到node_modules 文件夹,或者以上所有的情况都没有找到,
则会向上一级父目录下查找 node_modules 文件夹,查找规则如上一致。
npm是Node JavaScript平台的软件包管理器。它将模块放置在适当的位置,以便节点可以找到它们,并智能地管理依赖关系冲突
https://www.npmjs.cn/
npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。
下面是关于 npm 的快速介绍:
npm 由三个独立的部分组成:
npm -v 查看npm 版本。
npm init 初始化后会出现一个package.json配置文件,可以在后面加上 -y,快速跳过问答式界面。
npm install 会根据项目中的package.json文件自动下载目录中所需要的全部依赖。
npm install 包名 --save-dev(npm install 包名 -D) 安装的包只用于开发环境,不会用于生产环境,会出现在package.json文件中的devDependencies属性中。
npm install 包名 --save(npm install 包名 -S) 安装的包需要发布到生产环境,会出现在package.json文件的dependencies 属性中。
npm list 查看当前目录下已安装的node 包
npm list -g 查看全局已经安装过的node 包
npm --help 查看npm 帮助命令
npm update 包名:更新指定包名
npm uninstall 包名: 卸载指定包
npm config list 查看配置信息
npm 指定命令 --help 查看指定命令的帮助
npm info 指定包名 查看远程npm 上指定包的所有版本信息
npm config set registry https://registry.npm.taobao.org: 修改下载镜像为淘宝镜像
npm root 查看当前包的安装路径
npm -root -g 查看全局的包的安装路径
npm ls 包名 查看本地安装的指定包的版本信息,没有显示empty
npm ls 包名 -g 查看全局安装的指定包的版本信息,没有显示empty