当前位置: 首页 > 工具软件 > npmsearch > 使用案例 >

npm常用命令

呼延庆
2023-12-01

参考文章:npm常用命令

#启动nodeJs服务
node server.js
Server running at http://127.0.0.1:8888/
 
#use
    #编译
    $. npm run build
    
    #启动运行
    $. npm run serve
    $. npm run start
 
#-------------------------------------------------------------#
一、安装配置Node和前言    
    # 查看 npm 的版本 
    $ npm -v  //6.4.0 << 安装成功会返回版本号
    # 查看各个命令的简单用法
    $ npm -l 
     
    # 查看 npm 命令列表
    $ npm help
    # 查看 npm 的配置
    $ npm config list -l
二、npm init 创建模块
    $ npm init
    # npm init用来初始化生成一个新的package.json文件。
        它会向用户提问一系列问题,如果觉得不用修改默认配置,一路回车就可以了。
        尾缀带-f(代表force)、-y(代表yes),则跳过提问阶段,
        直接生成一个新的package.json文件,不带尾缀的话,默认有提问阶段。
三、npm set 设置环境变量
    $ npm set init-author-name 'my name jerry'
    $ set init-author-email '12345@qq.com'
    $ set init-author-url 'http://yourdomain.com'
    $ npm set init-license 'MIT'
    #执行了以上的修改,此时 Package.json并没有发生变化
    #设置后执行init才是真正修改成功
    $ npm init
四、npm search 搜索模块    
    #npm search命令用于搜索npm仓库,它后面可以跟字符串,也可以跟正则表达式。
    $ npm search <搜索词> [-g]
 
五、npm list 查看模块
    #当前项目安装的所有模块
    $npm list
 
    #列出全局安装的模块 带上[--depth 0] 不深入到包的支点 更简洁
    $ npm list -g --depth 0
 
六、npm install 安装模块    
    # 基本用法
    # 读取package.json里面的配置单安装  
        $ npm install 
        //可简写成 npm i
 
        # 默认安装指定模块的最新(@latest)版本
        $ npm install [<@scope>/]<name> 
        //eg:npm install gulp
 
        # 安装指定模块的指定版本
        $ npm install [<@scope>/]<name>@<version>
        //eg: npm install gulp@3.9.1
 
        # 安装指定指定版本范围内的模块
        $ npm install [<@scope>/]<name>@<version range>
        //eg: npm install vue@">=1.0.28 < 2.0.0"
        # 安装指定模块的指定标签 默认值为(@latest)
        $ npm install [<@scope>/]<name>@<tag>
        //eg:npm install sax@0.1.1
 
        # 通过Github代码库地址安装
        $ npm install <tarball url>
        //eg:npm install git://github.com/package/path.git
    
七、npm uninstall 卸载模块    
    #卸载当前项目或全局模块 
    $ npm uninstall <name> [-g] 
 
    eg: npm uninstall gulp --save-dev  
        npm i gulp -g
 
    #卸载后,可以到 /node\_modules/ 目录下查看包是否还存在,
        或者使用命令查看安装的模块:npm ls 
        
八、npm update 更新模块    
    #升级当前项目或全局的指定模块
        $ npm update <name> [-g] 
        //eg: npm update express 
              npm update express -g
              
九、npm link 引用模块
    # 引用依赖 有些包是全局安装了,在项目里面只需要引用即可。
    $ npm link [<@scope>/]<pkg>[@<version>]
        #例如:
            引用:   npm link gulp gulp-ssh gulp-ftp
            解除引用: npm unlink gulp
 
    # 引用模块(较少使用)
    $ npm link (in package dir)
 
    
十、npm run 执行脚本
    # 说明:
        package.json的scripts字段,可以用于指定脚本命令,供npm直接调用。
        npm run会创建一个Shell,执行指定的命令。
 
        两个命令简写,start和test属于特殊命令,可以省略run,其余的都得带上run。
    
        npm run的参数: 如果不加任何参数,直接运行,会列出package.json里面所有可以执行的脚本命令
 
十一、npm publish 发布模块
    # 未注册 申请注册一个用户 直接在https://www.npmjs.com/注册一样
    $ npm adduser
    //执行后 填写几个问题 Username、Password、Email
 
    #已注册
    $ npm login 
 
    #发布
    $ npm publish              
#-------------------------------------------------------------#
#设置port
$ npm config set foo:port 80
# package.json里面的foo对象, 注意,package.json里面的config对象,可以被环境变量覆盖
    { 
      "name" : "foo",
      "config" : { "port" : "8080" },
      "scripts" : { "start" : "node server.js" }
    }
 
#-------------------------------------------------------------#    
#设置npm配置
    # 使用–global参数,设置全局配置
    $ npm config set <key> <value> [–global]
 
 
    #### 设置代理
    $ npm config set proxy=http://xx.xx.xx.xx:8080
 
    #### 设置npm的镜像地址
    $ npm config set registry https://registry.npm.taobao.org
 
    ####获取npm配置
    $ npm config get <key>
 
    #### 获取npm当前镜像地址
    $ npm config get registory
 
    #### 删除npm配置
    $ npm config delete <key>
 
    #### 删除代理设置
    $ npm config delete proxy
 
    #### 在编辑器中打开npm配置文件
    $ npm config edit
 
#-------------------------------------------------------------#
#一、查找、安装、更新、卸载、发布Node模块
    #1、安装(i)
        1、安装(i)1、安装(i)
        1、安装(i)
#升级
    #升级到最新稳定版
    $ npm -g install npm
 
    #升级到指定版本
    $ npm -g install npm@2.9.1
 
    #其他模块
    $ npm update [-g] [<name> [<name> … ]]
 
    # 说明: 
        更新指定name列表中的模块,
         -g参数更新全局安装的模块。
        如果没有指定name,且不是在某个模块内,会更新当前目录依赖的所有包都会被更新(包括全局和模块内);
        如果当前目录在某个模块目录内,会更新该模块依赖的模块,
        所以不指定name直接运行npm update时,最好在某个模块内运行,以免更新到其他不想更新的模块。    
#-------------------------------------------------------------#    
#发布项目到npm
 
    1. 在官网注册npm账号
 
    2. 用户验证,命令行执行
    $ npm adduser
 
    3. 发布模块,在模块的根文件夹执行
    $ npm publish
 
    4. 更新版本
    # 如果是git库时,会为新版本号创建一条提交信息,package版本号会自动递增。
    $ npm version 0.0.4
    $ npm publish
#-------------------------------------------------------------#    
#创建及安装
    #创建package.json文件
    $ npm init
    
    #安装模块
    $ npm install <name> [–save|–save-dev|–save-optional]
 
    #安装并更新package.json中的版本配置
    * 添加–save 参数安装的模块的名字及其版本信息会出现在package.json的dependencies选项中
    * 添加–save-dev 参数安装的模块的名字及其版本信息会出现在package.json的devDependencies选项中
    * 添加–save-optional 参数安装的模块的名字及其版本信息会出现在package.json的optionalDependencies选项中
    
    #删除模块
    $ npm rm <name>
    $ npm r <name>
    $ npm uninstall <name>
    $ npm un <name>
 
    #更新模块
    $ npm update [-g] [<name> [<name> … ]]
    #更新指定name列表中的模块。-g参数更新全局安装的模块。
 
    #执行脚本
    $ npm run [<name>]
    
    #注意事项
        1. 安装模块时一定要记录模块的版本,避免不同版本的造成的冲突
        2. 模块更新时,最好在某个模块内运行或者指定摸个模块,以免更新到其他不想更新的模块。
        3. 删除模块时,不会删除package.json文件dependencies选项中对应的依赖配置,记得手动删除
#-------------------------------------------------------------#    
    
# package.json里, 常用scripts示例: 
    # 删除目录
    "clean": "rimraf dist/*",
 
    # 本地搭建一个 HTTP 服务
    "serve": "http-server -p 9090 dist/",
 
    # 打开浏览器
    "open:dev": "opener http://localhost:9090",
 
    # 实时刷新
     "livereload": "live-reload --port 9091 dist/",
 
    # 构建 HTML 文件
    "build:html": "jade index.jade > dist/index.html",
 
    # 只要 CSS 文件有变动,就重新执行构建
    "watch:css": "watch 'npm run build:css' assets/styles/",
 
    # 只要 HTML 文件有变动,就重新执行构建
    "watch:html": "watch 'npm run build:html' assets/html",
 
    # 部署到 Amazon S3
    "deploy:prod": "s3-cli sync ./dist/ s3://example-com/prod-site/",
 
    # 构建 favicon
    "build:favicon": "node scripts/favicon.js",
     

 类似资料: