(function(exports,require,module,__filename,__dirname){
exports = module.exports={}
exports.name = 'zfpx';
exports = {name:'zfpx'};
return module.exports;
})
http
path
fs
util
events
编译成二进制,加载速度最快,原来模块通过名称来加载
在硬盘的某个位置,加载速度非常慢,文件模块通过名称或路径来加载 文件模块的后缀有三种
一般自己写的通过路径来加载,别人写的通过名称去当前目录或全局的node_modules下面去找
window如果在环境变量中设置了NODE_PATH
变量,并将变量设置为一个有效的磁盘目录,require在本地找不到此模块时向在此目录下找这个模块。
UNIX操作系统中会从 $HOME/.node_modules $HOME/.node_libraries目录下寻找
在Node.js中,可以通过包来对一组具有相互依赖关系的模块进行统一管理,通过包可以把某个独立功能封装起来 每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境
项目 | 描述 |
---|---|
name | 项目名称 |
version | 版本号 |
description | 项目描述 |
keywords: {Array} | 关键词,便于用户搜索到我们的项目 |
homepage | 项目url主页 |
bugs | 项目问题反馈的Url或email配置 |
license | 项目许可证 |
author,contributors | 作者和贡献者 |
main | 主文件 |
bin | 项目用到的可执行文件配置 |
repository | 项目代码存放地方 |
scripts | 声明一系列npm脚本指令 |
dependencies | 项目在生产环境中依赖的包 |
devDependencies | 项目在生产环境中依赖的包 |
peerDependencies | 应用运行依赖的宿主包 |
搜索第三方包的地址
https://www.npmjs.com/search
npm install <package-name>
npm i mime
此命令会从服务器上下载此模块到当前目录下的node_modules目录下,如果node_modules目录不存在则会创建一个
也可以安装特定的版本
npm install <package name>@<version spec>
npm i mime@2.1
还可以使用一个版本号范围来替换
npm i mime@2.x
npm uninstall <package name>
我们还可以通过以下指令更新已经安装的包
npm update <package name>
./node_modules/.bin
目录下npm install <package-name> -g
npm install mime -g
C:\Users\zhufeng\AppData\Roaming\npm\node_modules\mime
npm root -g
C:\Users\Administrator\AppData\Roaming\npm\node_modules
C:\Users\Administrator\AppData\Roaming\npm
babel
npm install babel-cli -g
PATH
,需要在系统变量中为PATH
变量添加全局安装目录npm login
npm publish
npm install -D mocha
一般来说,调用mocha只能在
package.json
的scripts字段里面使用
"scripts": {
"test": "mocha -version"
}
npx mocha --version
npx 的原理很简单,就是运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在
create-react-app
这个模块是全局安装,npx 可以运行它,而且不进行全局安装$ npx create-react-app my-react-app
上面代码运行时,npx 将create-react-app下载到一个临时目录,使用以后再删除
--no-install
参数。如果本地不存在该模块,就会报错--ignore-existing
参数Yarn 是一个依赖管理工具。它能够管理你的代码,并与全世界的开发者分享代码。
代码是通过包(有时也被称为模块)进行共享的。 在每一个包中包含了所有需要共享的代码,另外还定义了一个package.json
文件,用来描述这个包。
yarn init
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag]
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
yarn remove [package]
yarn
或者
yarn install