美文网首页
npm-包管理工具

npm-包管理工具

作者: 指尖轻敲 | 来源:发表于2018-06-29 22:30 被阅读25次

    npm是一个包管理工具,如果安装可nodenpm也一起跟着安装了。常用的包管理工具还有yarn。因为npm的服务器时国外的,如果不翻墙的话,下载可能会很慢,推荐使用淘宝镜像。

    使用淘宝镜像cnpm

    安装cnpm,之后下载包的时候就可以用cnpm代替npm

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm install vue-cli
    

    也可以直接设置下载仓库地址为淘宝镜像。

    npm config set registry http://registry.npm.taobao.org/
    npm get registry  //检查是否设置成功
    

    如果要发布自己的镜像,需要改回来

    npm config set registry https://registry.npmjs.org/
    

    基本使用

    检查是否安装成功,出现版本号表示安装成功

    npm -v
    

    升级npm

    npm install npm -g
    

    使用npm安装模块

    npm install 模块名  //当前目录安装
    
    npm install 模块名 -g  //全局安装
    
    • 本地安装:安装好之后模块放在工程目录下的 node_modules 目录中,在代码中通过reqiuire('模块名')即可引入

    • 全局安装:将安装包放在/usr/local下或者Node的安装目录,可以直接在命令行里使用

    查看所有全局安装的模块

    npm ls -g
    

    卸载模块

    npm uninstall 模块名
    

    更新模块

    npm update 模块名 //可以把当前目录下node_modules子目录里边的对应模块更新至最新版本。
    npm update 模块名 -g // 可以把全局安装的对应命令行程序更新至最新版。
    

    搜索模块

    npm search 模块名
    

    查看安装的模块

    npm list --depth=0 -g //depth=0只显示深度为0的,不显示子模块
    

    帮助命令 / 查看某条命令的具体说明

    npm help
    npm help 命令名
    

    清空NPM本地缓存,用于对付使用相同版本号发布新版本代码的人。

    npm cache clear
    

    npx

    npm5.2.0以上版本,提供了一个npx命令。这个命令可以帮我们临时安装所需的包(也就是说可以不必单独下载某个包了),命令完成后会删除掉。

    以create-react-app为例,之前我们安装和创建项目时这样的:

    npm install create-react-app -g
    create-react-app my-app
    

    使用npx是这样的:

    npx create-react-app my-app
    

    上面代码还 体现了一点,就是可以自动执行运行命令(自动帮我们创建了my-app项目)。再举个例子:之前我们用http-server启动一个服务需要两步(先安装,再运行)

    npm install -g http-server
    http-server
    

    现在一步到位:

    npx http-server
    

    更多好用的功能待补充...

    使用package.json

    我们可以使用npm init生成package.json,生成的文件包含了基本结果

    npm init
    
    name: (node_modules) runoob     # 模块名
    version: (1.0.0)       #版本号
    description: Node.js 测试模块(www.runoob.com)  # 描述
    entry point: (index.js)   #入口文件
    test command: make test     #测试命令,暂不需要
    git repository: https://github.com/runoob/runoob.git  # Github 地址
    keywords:     #关键字
    author:        #作者
    license: (ISC)     #开源文件
    About to write to ……/node_modules/package.json:      # 生成地址
    Is this ok? (yes) yes
    

    如果后期有要下载的文件把版本同步到pakeage.json可以在安装时加上--save

    npm install --save jade
    

    如果是安装在开发环境下,使用--save-dev

    npm install --save-dev jade
    

    也可以先配置package.json文件,然后在当前目录下执行npm install。即可安装配置中的所有包。

    遇到错误

    npm err! Error: connect ECONNREFUSED 127.0.0.1:8087 
    

    解决办法:

    $ npm config set proxy null
    

    npm发布一个包

    相关链接

    1. 注册npm账号,很简单

    2. npm init:选择一个文件夹,cd进去执行初始化命令。填完信息后,文件夹里多出一个package.json

    3. 在目录下新建一个index.js文件,或者你刚才修改了那个entry point的值

    4. index.js里就一句话:module.exports=require('./lib')

    5. 写好README.md

    6. 执行npm login登录

    7. 在目录下执行npm publish,修改代码后再次发布,一定要改版本号

    在npm资源库注册用户

    npm adduser
    
    Username:
    Password:
    Email:
    

    发布模块

    npm publish
    

    撤销自己发布过的某个版本代码。

    npm unpublish <package>@<version>
    
    版本号

    语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。

    • 如果只是修复bug,需要更新Z位

    • 如果是新增了功能,但是向下兼容,需要更新Y位。

    • 如果有大变动,向下不兼容,需要更新X位。

    搭建自己的npm服务

    相关文章

      网友评论

          本文标题:npm-包管理工具

          本文链接:https://www.haomeiwen.com/subject/gvpgyftx.html