NPM
1. Node模块分类
-
自己写的模块
绝对路径 文件模块。
-
核心模块
没有路径 不用安装。
-
第三方模块
需要安装 用法和核心模块一样。会在当前目录node_modules下查找。包 package.json里的main,找不到才会找index.js。找不到会向上级查找。每个版本会有差异。
2. package.json
{
"name": "npm",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"mime":"mime"//执行npm run mime 会在node_modules下的.bin文件夹中查找mime来执行。
},
"author": "",
"license": "MIT",
"dependencies": {
"mime": "^2.4.4"
}
}
3. npm 和 npx
npx会找当前目录下node_modules下的.bin中的命令。
npx mime 1.jpg
相当于执行:
npm install mime -g
mime 1.jpg
npm uninstall mime -g
//可以保证每次执行都是最新版本,用完就删。
4. npm link
//1) 在package.json下增加bin属性
{
"name": "link",
"version": "1.0.0",
"description": "",
"main": "index.js",
"bin": {
"hello": "./a.js"//执行hello命令执行a.js
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
//2) a.js
#! /usr/bin/env node
console.log('hello world');
//3) 控制台输入npm link