将npm的镜像源替换淘宝镜像
如果使用npm安装包时下载太慢,可以将npm的镜像源替换为淘宝镜像:
镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在):
-
通过config命令
npm config set registry https://registry.npm.taobao.org npm info underscore (如果上面配置正确这个命令会有字符串response)
-
命令行指定
npm --registry https://registry.npm.taobao.org info underscore
-
编辑 ~/.npmrc 加入下面内容
registry = https://registry.npm.taobao.org
npm初识
一个npm包里面包含的信息
package.json
作用: 关于包的信息都在这里面
- name:包名称
- version:版本
- description:包描述
- main:指明代码的入口文件
调用npm包
使用:require(包名)
查找过程:先在当前目录下找,如果没找到就在上一级目录找,依次类推
创建一个包
步骤如下:
-
npm init
:该命令可以指引我们创建npm包中的package.json
文件 -
创建一个
README.md
文件 -
如果我们的包需要依赖其他的包,那么需要先下载其他的包进行测试,因此可以使用
npm install --save 包名
来下载依赖包,该命令同时会将依赖的包名添加到我们当前目录下的package.json
文件中去,那么别人下载我们的包时,会同时下载依赖的包 -
创建
.gitignore
文件:将不需要上传到npm中的文件名添加到该文件中,当上传包时,就不会将文件上传上去,注意:因为我们下载了依赖的包文件用于测试,最终上传包时,那些依赖的包不需要上传,因此要将依赖的包名放到该文件中 -
npm install --save-dev 包名
:表示将包添加到devDependencies
中,这里面的包说明是用于开发使用的,而devDependencies
中列出来的包,不会上传到npm上,可以通过npm install
手动的将其下载下来 -
上传包到npm
使用npm publish
命令,然后会提示输入在npm上注册 的用户,
注意:package.json
相当于一个“种子”,它里面保存了我们包的所有信息,即使我们误删了文件,只要package.json在,就可以通过npm install
命令重新下载下来
安装npm包
npm install 包名
-
npm install --save 包名
:这种方式会下载包,并将该包添加到当前目录下的package.json
中的"dependencies"项上,主要用于创建一个我们自己的包时,当我们的包需要依赖其他的包,因此需要将依赖的包下载下来用于测试我们自己的包程序,同时,别人使用我们的包时,需要下载依赖包,所以我们就需要添加依赖到package.json
中,而使用这种方式,就可以自动将依赖添加到package.json
中去,而不需要手动添加
nodejs
process.argv
作用:用于获取到执行nodejs时的参数
- 第一个参数:nodejs的安装路径
- 第二个参数:执行nodejs的路径
-
第三个参数:获取输入的参数
如下:
QQ截图20170719221335.jpg
做一个nodejs的命令行工具
在包的源文件中里面添加:#!/usr/bin/env node
这么一行代码,表示使用node去执行
以做一个打印“hello”的命令行工具为例
-
创建一个“index.js”文件,用于写命令行的代码,如下:
index.js -
使用
npm init
命令,创建一个npm包的初始化文件,其实就是创建package.json
文件,都是使用默认的配置,并没有修改,在实际开发中可根据实际情况进行修改,如下所示:
上图中
bin:{"hexonhungerdemo": "./index.js"}
的“hexonhungerdemo”
就是别人调用我们这个模块使用的命令
-
npm publish
上传包
如果之前没有登录过,则需要先执行npm login
进行登录,然后再上传
注意:
如果将npm的官方源更改为了淘宝源,使用npm login
登录时会出错,需要先将源替换为官方源,然后再上传。
// 查看当前npm源配置
npm config ls
// 修改npm源地址为官方源
npm config set registry https://registry.npmjs.org/
// 将npm源地址修改为淘宝源
npm config set registry https://registry.npm.taobao.org/
网友评论