0
点赞
收藏
分享

微信扫一扫

NPM包管理和模块化

黄昏孤酒 2022-02-12 阅读 61

目录

包简介(package)

包结构

NPM(Node Package Manager)

NPM常见命令

//帮助说明
$ npm 

//查看版本
$ npm -v 

//搜索模块包
$ npm search 包名(关键字)

// 初始化项目文件夹,会在当前文件夹中创建一个package.json文件
$ npm init 

全局安装package

//全局模式安装
$ npm install (i) 包名 --global (-g) 

//从全局中卸载
$ npm uninstall 包名 --global 

全局安装包的目录

  • Mac
/Users/felix/.nvm/versions/node/nvm各个版本/bin/
  • Windows
C:\Users\你的用户名\AppData\Roaming\npm\node_modules

本地安装package

// 在当前目录安装包
$ npm install (i)包名 

// 安装包并将该包添加到生产环境依赖当中(dependencies)
$ npm install (i)包名 --save(-S) 

// 安装包并将该包添加到开发环境依赖当中(devDependencies)
$ npm install (i)包名 --dev(-D) 

// 只安装生产环境依赖的包
$ npm install (i) --production

//卸载包
$ npm uninstall/remove(r) 包名 

安装指定版本package

// 查看当前项目的所有安装的包、依赖、版本号
npm list(ls)

在这里插入图片描述

// 查看包的所有版本
$ npm view 包名 versions

// 安装指定版本的包
$ npm install (i) jquery@2.1.1(包名@版本号)

更新本地安装的包

// 查看那些包需要更新(如果输入没有显示,则代表当前包全部是最新版本)
$ npm outdated 

在这里插入图片描述

// 更新包版本为依赖中设置的版本,会根据npm版本符号更新
$ npm update

清除缓存

// 清除缓存包文件夹
$ npm cache clean --force

配置cnpm

$ npm install -g cnpm --registry=http://registry.npm.taobao.rog

模块化

模块/包分类

内置的模块

const path = require('path')
var extname = path.extname('index.html')
console.log(extname)//.html

第三方的Node.js模块

npm install chalk
const chalk = require('chalk')
console.log(chalk.blue('Hello world!'))

自定义的Node.js模块

模块定义、接口暴露和引用接口

const name = 'gp19'

const sayName = () => {
  console.log(name)
}

console.log('module 1')

// 接口暴露方法一:
module.exports = {
  say: sayName
}

// 接口暴露方法二:
exports.say = sayName

// 错误!
exports = {
  say: sayName
}
var md = require('./index')
md.say();

Node.js执行模块代码的流程

const str = 'Hi!';

exports = str;

console.log("我是exports:",exports);
console.log("我是require:",require);
console.log("我是module:",module);
console.log("我是__filename:",__filename);
console.log("我是__dirname:",__dirname);

在这里插入图片描述

举报

相关推荐

0 条评论