Articles

Como NGP Link para uma versão local de sua dependência

Permite fazer isso.

So… I want to create a local version of moment for my calendar webapp.porquê?

porque moment não inclui representações Klingon do tempo. Ou Borg, já agora. Que tipo de pacote de tempo inclusivo não abarca culturas estrangeiras!?

A TL; DR: clone o pacote localmente em algum lugar, o MPN instala o seu deps, npm link na sua raiz, depois volte para a sua aplicação flashy que usa o momento, no tipo root npm link "moment"& está agora a usar a versão local. Não consegui arranjar fios para trabalhar. Não sei porquê.

direita …

estou abandonando o fio nesta explicação porque eu não poderia ter a mesma funcionalidade para trabalhar com ele como NPM. De qualquer forma, aqui vai:

eu quero duas pastas para focar.

my-calendar-app/node_ modules/moment

E

Users/aid/desktop/local-modules/

então i git clone...o pacote que quero editar/melhorar, *para* a pasta de módulos locais.

Uma vez que eu estou nisso, Eu corro npm install para garantir que eu tenho todas as dependências certas e configuração para isso (babelrc, webpack, dev e dependências regulares).

no local, eu vou para moment.js ou qualquer que seja o arquivo de entrada. E mesmo no topo, pus uma consola.faça login, só para mostrar que estamos usando o local / Klingon amigável:

Usuários/auxílios/Desktop/local_modules/momento/momento.js

cd (em terminal) no seu novo pacote local/momento dir e na sua raiz, tipo npm link. Para ser claro: este é você ligando uma versão local, clonada, ligeiramente alterada de um pacote npm.

então nós criamos um link de índice para este pacote local. A confirmação do terminal para o meu parece-se com isto.:

depois de digitar a ngp link no novo pacote local.

Agora volte para seu projeto principal, e no nível raiz, diga a ele que você quer usar a versão local:-

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

Que cospe fora uma confirmação de que você está mapeando para um módulo do 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

isso está basicamente dizendo “Quando eu estou apontando para node_ modules por momento, root para seus links npm, para esta versão de node — e apontar para esta versão local/pacote dele”.

Agora, quando vamos executar a nossa aplicação:

O chrome console / console.os registos estão a aparecer.

cospe o console.logs / alterações que fizemos localmente.

para matar a ligação, volte para a sua versão local e no tipo de raiz npm unlink --no-save moment. Then run npm install.

Yay for NPM links. Viva Des Lynham.