使用了,但没完全使用过;用过,但没完全会。从新来过一遍
跳过安装步骤直接开搞
使用版本为14.15.4
一、控制台交互界面学习
此处z=_ 中的下划线代表获取上一行的内容
.help获取帮助文档
.save 及.load使用
.save 用于保存上方我们使用过的命令.load 则负责载入我们保存的命令
二、编辑器运行及npm包安装
- npm国内加速
因为npm的代码仓库默认在国外,所以我们可以用以下方法进行加速使用
使用cnpm代替npm(这里的 -g 代表全局安装)
npm install -g cnpm --registry=https://registry.npm.taobao.org
将npm的默认仓库改为淘宝镜像源
npm config set registry https://registry.npm.taobao.org
- npm模块安装(这里以express为例)
我们可以使用
npm install -g express
进行全局安装,这样我们可以在任何目录下找到express这款工具
同时,我们也可以去除 -g 只在本项目/目录下进行安装
npm install express
但同时,npm会默认在本目录下为我们创建一个node_modules文件夹,用来管理我们的包
- 模块的使用
三、模块的导入和导出
这里用两个文件来作为示范index1.js index2.js
index1.js:
let fn = ()=>{
console.log(111)
}
let student = {
username = "倪风"
}
console.log('测试不使用exports时是否执行(答案:执行)')
module.exports = {fn,student} // 这里作为导出此文件的内部函数,否则在index2.js中无法找到此函数
index2.js:
let index1 = require('./index1.js') //当只加载某个模块时,会执行一遍模块,所以这里会调用到index1.js中的console
//以下两个函数只有在index1中使用了exports到处才能使用到,否则报错
index1.fn()
console.log(index1.student.username)
模块路径解析规则
当使用中需要引用模块的时候会按以下顺序进行路径寻找
内置模块
如果传递给require 的函数是nodejs的内置模块名称,便不做路径解析,直接放回内部模块导出的对象,例如require('fs')
node_modules 目录
这是nodejs指定的默认存放模块的路径。
这里以express为例子,require('express')
他会首先寻找 node_modules/express 下是否包含此文件夹,然后查找该文件夹下的package.json这个文件,找出该模块指定的执行文件,如没有,默认执行模块下index.js文件
node_path 环境变量
如环境变量为
NODE_PATH=/home/user/lib:/home/lib
使用require('foo/bar')
加载模块时,则依次尝试以下路径
/home/user/lib/foo/bar
/home/lib/foo/bar