como MECANISMO nacional de prevención Enlace a una versión local de su dependencia
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:
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í:
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:
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.