首页 > 其他分享 >npm基本使用

npm基本使用

时间:2022-11-18 21:01:22浏览次数:50  
标签:npm 基本 const 包名 js 使用 date return

一、常用npm命令

  1. 安装包

    npm install 包的完整名称
    或者
    npm i 包名
    //初次安装包时多出的文件
    node_modules:用来存放所有已安装到项目中的包
    package-lock.json文件:用于记录node_modules目录下的每一包的下载信息
    /*
    {
      "name": "code",
      "lockfileVersion": 2,
      "requires": true,
      "packages": {
        "": {
          "dependencies": {
            "jquery": "^3.6.1"
          }
        },
        "node_modules/jquery": {
          "version": "3.6.1",
          "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.6.1.tgz",
          "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
        }
      },
      "dependencies": {
        "jquery": {
          "version": "3.6.1",
          "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.6.1.tgz",
          "integrity": "sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw=="
        }
      }
    }
    */
    
  2. 安装指定版本的包

    npm i 包名@版本号
    //包的版本号是以“点分十进制”形式进行定义的,总共有三位数字,例如 2.24.0
    
  3. 包管理配置文件

    npm init -y
    /*
    	{
      "dependencies": {//用于记录下载的包(开发并上线所使用的包)
        "jquery": "^3.6.1"
      },
      "name": "code",//项目名
      "version": "1.0.0",//版本号
      "main": "1.js",//路口文件
      "devDependencies": {},//开发但不上线使用的包
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "description": ""
    }
    */
    
  4. 一次性安装所有的包

    //根据package.json中的dependencies节点下载所有包
    npm install
    
  5. 卸载包

    npm uninstall 包名
    
  6. 将包下载的记录到devDependecies节点

    npm install 包名 -D
    
  7. 切换npm的下包镜像

    npm config set registry=https://registry.npm.taobao.org/
    //查看当前的下包镜像
    npm config get registry
    
  8. nrm工具的使用

    //下载nrm工具
    npm i nrm
    //查看当前可用所有镜像
    nrm ls
    //切换镜像
    nrm use taobao
    
  9. 包的分类

    /*
    项目包:安装到node_modules目录中的包
    	开发依赖包:被记录到devDependencies节点中的包,只在开发时会用到
    	npm i 包名 -d
    	核心依赖包:被记录到dependencies节点中的包,在开发期间和项目上线之后都会用到
    	npm i 包名
    */
    /*
    全局包:全局包会被安装到 C:\Users\用户目录\AppData\Roaming\npm\node_modules 目录下
    npm i 包名 -g//下载全局包
    npm uninstall 包名 -g//删除全局包
    */
    
  10. i5ting_toc工具

    //下载i5ting_toc
    npm i i5ting_toc -g
    //将md文件转为html文件
    i5ting_toc -f 要转换的md文件的路径 -o//-o:在默认浏览器中打开
    
  11. 规范的包结构

    /*
    必须符合如下三个要求:https://yarnpkg.com/zh-Hans/docs/package-json
    	1.包必须以单独的目录存在
    	2.包的顶级目录下必须包含package.json这个包管理文件
    	3.package.json中必须包含name,version,main这三个属性,分别表示包的名字,版本号,包的入口
    */
    
  12. 开发自己的包

    /*
    	例如:实现如下功能的包
    			1.格式化日期
    			2.转义HTML中的特殊字符
    			3.还原HTML中的特殊字符
    */
    //1.新建项目名my-tools
    
    //2.在my-tools目录下,新建index.js、package.json和README.md文件和src目录
    /*
    	index.js文件内容如下:
            const date = require('./src/dateFormat')
            const escapt = require('./src/htmlEscapt')
            module.exports = {
                ...date,
    
                ...escapt
            }
            
        package.json文件如下:
            {
              "name": "my-tools",
              "version": "1.0.0",
              "description": "提供了格式化时间,HTMLEscape的功能",
              "main": "index.js",
              "keywords": [
                "feibin","dateFormat","HTMLEscape","检索的关键字"
              ],
              "scripts": {
                "test": "echo \"Error: no test specified\" && exit 1"
              },
              "author": "feibin",
              "license": "ISC"
            }
    */
    //3.在src文件下,创建dateFormat.js文件,写入如下内容
    /*
    格式化时间的方法
        function dateFormat(dateStr){
            const date = new Date(dateStr)
            const YY = date.getFullYear()
            const MM = padZero(date.getMonth() + 1)
            const dd = padZero(date.getDate())
            const hh = padZero(date.getHours())
            const mm = padZero(date.getMinutes())
            const ss = padZero(date.getSeconds())
    
            return `${YY}-${MM}-${dd} ${hh}:${mm}:${ss}`
        }
        //补零函数
        function padZero(n){
            return n > 9 ? n : '0' +n
        }
        module.exports = {
            dateFormat
        }
    */
    /*
        4.在src文件下创建htmlEscape.js文件
        //转义html
        function htmlEscape(htmlStr){
            return htmlStr.replace(/<|>|"|&/g,(match) =>{
                switch(match){
                    case '<':
                        return '&lt;'
                    case '>':
                        return '&gt;'
                    case '"':
                        return '&quot;'
                    case '&':
                        return '&amp;'
                }
            })
        }
        function htmlUnEscape(str){
            return str.replace(/&lt;|&gt;|&quot;|&amp;/g,(match) =>{
                switch(match){
                    case '&lt;':
                        return '<'
                    case '&gt;':
                        return '>'
                    case '&quot;':
                        return '"'
                    case '&amp;':
                        return '&	'
                }
            })
        }
        module.exports = {
            htmlEscape,
    
            htmlUnEscape
        }
    */
    /*
        5.创建index.js文件,写入如下内容
        const date = require('./src/dateFormat')
        const escapt = require('./src/htmlEscapt')
        module.exports = {
            ...date,
    
            ...escapt
        }
    */
    /*
    	6.编写README.md文件,内容如下:
    		## 安装
    
            ```
            npm install my-tools
            ```
    
            ## 导入
    
            ```js
            const mytools = require('my-tools')
            ```
    
            ## 格式化时间
    
            ```js
            // 调用 dateFormat 对时间进行格式化
            const dtStr = mytools.dateFormat(new Date())
            // 结果  2020-04-03 17:20:58
            console.log(dtStr)
            ```
    
            ## 转义 HTML 中的特殊字符
    
            ```js
            // 带转换的 HTML 字符串
            const htmlStr = '<h1 title="abc">这是h1标签<span>123&nbsp;</span></h1>'
            // 调用 htmlEscape 方法进行转换
            const str = mytools.htmlEscape(htmlStr)
            // 转换的结果 &lt;h1 title=&quot;abc&quot;&gt;这是h1标签&lt;span&gt;123&amp;nbsp;&lt;/span&gt;&lt;/h1&gt;
            console.log(str)
            ```
    
            ## 还原 HTML 中的特殊字符
    
            ```js
            // 待还原的 HTML 字符串
            const str2 = mytools.htmlUnEscape(str)
            // 输出的结果 <h1 title="abc">这是h1标签<span>123&nbsp;</span></h1>
            console.log(str2)
            ```
    
            ## 开源协议
    
            ISC
    */
    
    
  13. 发布包

    1.注册npm账户
    	a 访问 https://www.npmjs.com/ 网站,点击 sign up 按钮,进入注册用户界面
    	b 填写账号相关的信息:Full Name、Public Email、Username、Password
    	c 点击 Create an Account 按钮,注册账号
    	d 登录邮箱,点击验证链接,进行账号的验证
    2.在控制台登录npm账户
    	npm 账号注册完成后,可以在终端中执行 npm login 命令,依次输入用户名、密码、邮箱后,即可登录成功。
    3.将包发布到npm上
    	将终端切换到包的根目录之后,运行 npm publish 命令,即可将包发布到 npm 上(注意:包名不能雷同)。
    4.删除已发布的包
    	运行 npm unpublish 包名 --force 命令,即可从 npm 删除已发布的包。
    

标签:npm,基本,const,包名,js,使用,date,return
From: https://www.cnblogs.com/feibinstudy/p/16904872.html

相关文章

  • python使用反函数还原输入
    importnumpyasnpimportmatplotlib.pyplotaspltfrompynverseimportinversefuncdefmy_tah(x):sigma=-0.1#base_tah=np.tanh(x)#base_......
  • Go 使用 Cobra 构建 CLI 程序
    使用cobra-cli搭建手脚架#安装cobra-cligoinstallgithub.com/spf13/cobra-cli@latest#创建一个应用mkdirmyapp&&cdmyapp#初始化gomodgomodinitmyap......
  • 工作流设计器使用说明
    一、           工作流设计器介绍1.     流程设计流程处理自定义,如图:使用说明:l 新建流程程序进入时状态为新建流程(或点击菜单“模型”-“新建”或点击快......
  • Ubuntu上使用Logrotate管理日志文件
    一、前言当我们使用Ubuntu服务器配置一些分析服务时,经常会用到日志去记录一些信息以便追溯分析过程。但是,时间久了之后,日志文件数量和空间会不断膨胀,这个时候我们就需要考......
  • 使用博客园初衷
    在博客园上发表一些自己觉得有意思的题或者自己的解题方法,并且希望可以认识到更多的志同道合的朋友。本人大概对基础数学更感兴趣一点,欢迎大家一起学习,一起讨论。当然,我......
  • Kafka的使用
    一、启动Zookeeper服务在Windows系统中打开第1个cmd窗口,启动Zookeeper服务:>cdc:\kafka_2.12-2.4.0>.\bin\windows\zookeeper-server-start.bat.\config\zookeeper.......
  • Batch Normalization、Layer Normalization、Group Normalization、Instance Normaliz
    BatchNormalization、LayerNormalization、GroupNormalization、InstanceNormalization原理、适用场景和使用经验一、简单介绍各种Normalization先放一张来自​​Group......
  • Beyond Compare 无限使用方法(自动化定期删除文件)
    背景:BeyondCompare有30天试用期,到期则无法使用方法有很多种,比如购买、修改注册表、删除文件、破解版等。本人因为在公司电脑,软件不能自己装,权限有限,只能采用删除文件方......
  • 项目中使用队列
    项目中使用队列队列的作用处理和响应速度、数据的一致性问题队列采用的是线程安全的队列LinkedBlockingQueue,通过新的线程异步处理这些请求“如果响应状态是卖完了,直接......
  • [Linux ] 编译 ffmpeg 使用 AV1 编码
    编译带AV1编码器的ffmpeg安装aomgitclone--depth1https://aomedia.googlesource.com/aommkbuildcmake-G"UnixMakefiles"-DENABLE_TESTS=OFF-DENABLE_N......