Estrategia de uso de Nodejs npm (cómo publicar su propio paquete npm)

Este artículo ha participado en el evento "Ceremonia de creación de recién llegados" para comenzar juntos el camino de la creación de oro.

prefacio

Como desarrollador front-end, tenemos que aprender a escribir algunos módulos de herramientas de desarrollo por nosotros mismos, y también podemos escribir algunos componentes por nosotros mismos, o incluso escribir un marco a través de nuestras propias capacidades, pero esto requiere que podamos administrar nuestro paquetes de manera flexible Este artículo presenta principalmente cómo npm inicia sesión y carga paquetes, actualiza paquetes, revoca paquetes, etc.

Crear proyecto

Cree una nueva carpeta, como npm-test.

cd en la ubicación de la carpeta del proyecto, npm init -ycree un proyecto front-end y package.jsonse generará el archivo.

npm init -y
复制代码

Escribir código

package.jsonEl atributo principal en el objeto es el módulo de entrada del paquete npm, el valor predeterminado es index.js, por lo que podemos crear index.js en el proyecto para implementar los módulos funcionales que necesitamos.

//index.js
export const add = (a, b) => {
    return a + b
}
export const del = (a, b) => {
    return a - b
}
export {add, del}
复制代码

Configuración de fuentes de npm e inicio de sesión de npm

Para cargar un paquete npm, debe configurar la fuente npm predeterminada e iniciar sesión.

Debido a que la fuente de Taobao es más rápida cuando se descarga, es muy inconveniente cambiar de un lado a otro. Se recomienda instalar nrm sin usar nrm para administrar la fuente de npm.

npm i nrm -g
复制代码

nrm lsPuede enumerar las fuentes comunes y nrm usepuede cambiar rápidamente las fuentes de npm siempre que las necesite.

在这里插入图片描述

Podemos usar la fuente de Taobao cuando descargamos en tiempos normales, es decir nrm use taobao.

Y necesitamos iniciar sesión ahora, para que podamos cambiar a la fuente npm, es decir, nrm use npmusarla

在这里插入图片描述

Luego npm logininicie sesión. Antes de iniciar sesión, debe registrar una cuenta en el sitio web oficial de npm .

在这里插入图片描述

subir

ejecutar desde la raíznpm publish

npm publish
复制代码

Es posible que se informe un error que You do not have permission to publish "xxxx"indique que se ha utilizado el nombre del paquete, por lo que debemos cambiar el nombre para modificar package.jsonlas namepropiedades, como lo cambié a un nombre que no es fácil de repetir para la prueba npm-test-moon, y cargarlo nuevamente.

Tuvo éxito sin error.

Descargar prueba

Descargue el nombre del paquete cargado por usted mismo npm i npm-test-moon.

Cree un nuevo archivo test.js para probarlo y node test.jsejecutarlo.

//test.js
import {add,del} from 'npm-test-moon'
console.log(add(1,2))//3
复制代码

actualizar el paquete npm

更新内容以后再执行npm publish,可能会报错You cannot publish over the previously published versions,每次更新包上传,必须要修改版本。

修改package.jsonversion属性为1.0.1,再次上传即可成功。

三个数字从左到右分别代表主版本号、次版本号、修订号

  1. 主版本号(major):当你不兼容旧版本的新版本。一般我们将原有内容颠覆就修改主版本号。
  2. 次版本号(minor):当你做了兼容前一个版本的功能性新增。不影响原有功能增加新功能修改的都是次版本号。
  3. 修订号(patch):当你做了兼容前一个版本的问题修正。修复一些bug,进行一些优化就修改修订号。

撤销npm包

假如刚发布的1.0.1的包存在问题,我们需要进行撤销, npm deprecate 包名@版本号 提示信息

npm deprecate [email protected] 这个版本存在问题,请下载1.0.0版本
复制代码

撤销之后,下载默认下载最新1.0.1版本会出现提示,会自动下载前一个版本,即使该版本源码还在,但是导出内容仍是上一个版本的。

在这里插入图片描述

注意,只在发布24小时内才可以进行撤销,且撤销过的版本号不再可以使用,比如我们1.0.1版本撤销了,下次发布新版本,必须得修改1.0.2了,不可以再使用1.0.1了。

es6转es5兼容性处理

有些人平时编写模块时比较喜欢使用es6代码,但是如果希望自己的模块既能被es6形式import导入,也希望能同时兼容commonjs模块的require导入,我们在上传自己的npm包时就得考虑好这个问题。

比如我们这篇的包使用es6的导出方式,上传之后,只有使用es6模块开发项目的人才能使用,而使用commonjs规范的则不行,因此我们需要将该内容兼容处理再上传。

如需了解请移步另一篇文章:nodejs ES6模块使用 以及 ES6代码转ES5兼容性处理

Supongo que te gusta

Origin juejin.im/post/7080034894000324639
Recomendado
Clasificación