Articles

como MECANISMO nacional de prevención Enlace a una versión local de su dependencia

Permite hacer esto.

Así que… quiero crear una versión local de moment para mi calendario webapp.

¿por Qué?

Porquemoment no incluye representaciones klingon del tiempo. O Borg, para el caso. ¡Qué tipo de paquete de tiempo con todo incluido no abarca culturas extranjeras!?

El TL;DR: clone el paquete localmente en algún lugar, npm instale su deps, npm link en su raíz, luego regrese a su aplicación llamativa que usa moment, en la raíz escriba npm link "moment"& ahora está utilizando la versión local. No pude conseguir enlaces de hilo para trabajar. No sé por qué.

Correcto

Estoy abandonando Yarn en esta explicación porque no pude obtener la misma funcionalidad para trabajar con él que NPM. De todos modos, aquí va:

Quiero dos carpetas en las que centrarme.

my-calendar-app/node_modules/moment

y

Users/aid/desktop/local-modules/

Luego I git clone... el paquete que quiero editar / mejorar, *en* la carpeta de módulos locales.

Una vez que estoy en eso, corro npm install para asegurarme de tener todas las dependencias y configuraciones correctas para eso (babelrc, webpack, dev y dependencias regulares).

En el local, entro en moment.js o lo que sea el archivo de entrada. Y justo en la parte superior puse una consola.inicie sesión, solo para mostrar que estamos usando el local / compatible con Klingon:

Usuarios/ayuda/Desktop/local_modules/momento/instante.js

cd(en terminal) en su nuevo dir de paquetes de módulos/momentos locales y en su raíz, escriba npm link. Para ser claros: este es usted vinculando una versión local, clonada y ligeramente modificada de un paquete npm.

Así que hemos creado un enlace de índice a este paquete local. La confirmación de la terminal de la mina se ve así:

después de escribir mecanismo nacional de prevención de enlace en el nuevo local de paquetes.

Ahora navegar de vuelta a su proyecto principal, y a nivel de raíz, dígale que usted desea utilizar la versión local:-

cd /Users/aid/Projects/my-calendar-app && npm link "moment"

Que escupe una confirmación de que la asignación a un módulo local:

Users/aid/Projects/my-calendar-app/node_modules/moment -> aid/.nvm/versions/node/v10.15.0/lib/node_modules/moment -> /Users/aid/Desktop/local-packages/moment

Eso es básicamente decir «Cuando estoy apuntando a node_modules por un momento, rootea a tus enlaces npm, para esta versión del nodo — y apunta a esta versión/paquete local del mismo».

Ahora cuando ejecutemos nuestra aplicación:

La de la consola de chrome / consola.están apareciendo registros.

Escupe la consola.registros / cambios que hicimos localmente.

Para eliminar el enlace, vuelva a su versión local y en la raíz escriba npm unlink --no-save moment. A continuación, ejecute npm install.

Yay para enlaces NPM. Hurra por Des Lynham.