O package.json deveria ser editado manualmente? Um programa como o npm não pôde apenas examinar os arquivos, ver as instruções "require" e usá-las para colocar as entradas necessárias no arquivo package.json? Existem programas como esse?
412
npm link
Respostas:
O arquivo package.json é usado pelo npm para aprender sobre seu projeto node.js.
Usar
npm init
para gerar arquivos package.json para você!Ele vem com o npm. Leia a documentação aqui: https://docs.npmjs.com/cli/init
Além disso, há uma ferramenta oficial que você pode usar para gerar esse arquivo programaticamente: https://github.com/npm/init-package-json
fonte
npm init
foi exatamente o que eu estava procurando! Também depois que eu costumo corrernpm shrinkwrap
para criar umnpm-shrinkwrap.json
arquivonpm init
: usenpm install <pkg> --save
posteriormente para instalar um pacote e salve-o como uma dependência no arquivo package.json.npm init
no Console do Gerenciador de Pacotes do Visual Studio 2015, ele é exibido[...] Press ^C at any time to quit.
e interrompido sem perguntar nada ou criar o arquivo json. Estou esquecendo de algo?npm init --force --yes
é o único liner para que este arquivo seja geradoPrimeiro, corra
... fará algumas perguntas ( leia isso primeiro ) sobre seu projeto / pacote e, em seguida, gerará um arquivo package.json para você.
Depois de ter um arquivo package.json, use
ou
... para instalar uma dependência e anexá-lo automaticamente para o seu
package.json
'sdependencies
lista.(Nota: pode ser necessário ajustar manualmente os intervalos de versão para suas dependências.)
fonte
package.json
, geralmente é tratado automaticamente.--save
não é mais necessário em versões mais recentes do MPNAcabei de escrever um script simples para coletar as dependências em ./node_modules. Cumpre minha exigência no momento. Isso pode ajudar alguns outros, eu posto aqui.
No meu caso, o script acima gera:
Agora, você pode copiá-los e colá-los. Diverta-se!
fonte
npm ls --depth=0
irá imprimir mais ou menos o mesmo (não sei se foi o caso em 2012, embora)a
, eo pacotea
precisa de pacotesb
ec
, esta saída vontade roteiro todos os níveis, por issoa
,b
,c
que é não correta. Só deve produzira
, os subpacotes serão resolvidos automaticamente.npm init
para criar o arquivo package.json e, em seguida, você usa
ls node_modules/ | xargs npm install --save
para preencher os módulos que você possui na pasta node_modules.
Edit: @paldepind apontou que o segundo comando é redundante porque
npm init
agora adiciona automaticamente o que você tem na pasta node_modules /. Não sei se esse sempre foi o caso, mas agora, pelo menos, funciona sem o segundo comando.fonte
npm init
havia adicionado automaticamente dependências com base nos pacotes instalados e que não havia necessidade de executar o segundo comando.npm dedupe
, que extrai as dependências compartilhadas entre seus módulos e armazena-as no nível superior donode_modules
diretório. Mas não tocapackage.json
! Com isso, você pode confirmar e compartilhar sua configuração deduplicada.Linha de comando :
criará o arquivo package.json
Para instalar, atualizar e desinstalar pacotes sob dependências no arquivo package.json:
Linha de comando :
adicionará automaticamente a versão mais recente do pacote em dependências ao arquivo package.json
EX:
Linha de comando :
também adicionará automaticamente a versão mais recente do pacote em dependências ao arquivo package.json
se você precisar de uma versão específica para um pacote, use esta linha de comando :
adicionará automaticamente uma versão específica do pacote sob dependências ao arquivo package.json
EX:
se você precisar de um intervalo específico de versão para um pacote, use esta linha de comando :
adicionará automaticamente a versão mais recente do pacote entre o intervalo de versões em dependências no arquivo package.json
EX:
Para mais detalhes sobre como escrever a versão para o pacote npm Doc
Linha de comando :
atualizará os pacotes no arquivo package.json e adicionará automaticamente a versão atualizada de todos os pacotes sob dependências ao arquivo package.json
Linha de comando :
removerá automaticamente o pacote das dependências para o arquivo package.json e removerá o pacote da pasta node_module
fonte
Correr
npm init -y
faz o seupackage.json
com todos os padrões.Você pode mudar de
package.json
acordo.Isso economiza tempo várias vezes, impedindo a pressão
enter
de todos os comandosnpm init
fonte
Agora você pode usar o Yeoman - Modern Web App Scaffolding Tool no terminal do nó usando 3 etapas fáceis.
Primeiro, você precisará instalar o yo e outras ferramentas necessárias:
Para estruturar um aplicativo Web, instale o gerador generator-webapp :
Execute yo e ... está tudo pronto:
A Yeoman pode escrever um código padrão para todo o seu aplicativo da Web ou Controladores e modelos. Ele pode iniciar um servidor da Web de visualização ao vivo para edições e compilação; não apenas que você também pode executar seus testes de unidade, minimizar e concatenar seu código, otimizar imagens e muito mais ...
Yeoman (yo) - ferramenta de andaime que oferece um ecossistema de andaimes específicos da estrutura, chamados geradores, que podem ser usados para executar algumas das tarefas tediosas mencionadas anteriormente.
Grunt / gulp - usado para criar, visualizar e testar seu projeto.
Bower - é usado para gerenciamento de dependências, para que você não precise mais baixar manualmente suas bibliotecas front-end.
fonte
Com base na resposta do Pylinux, abaixo está uma solução para o sistema operacional Windows,
Espero que ajude.
fonte
use o comando npm init -f para gerar o arquivo package.json e depois use --save após cada comando para que cada módulo seja atualizado automaticamente dentro do seu package.json para ex: npm install express --save
fonte
1. Escolha
Se você git e usuário do GitHub:
generate-package
mais simplesmente do quenpm init
.outro
e / ou você não gosta de
package.json
modelo, que gera pacote ounpm init
gera:você pode gerar seu próprio modelo por meio de aplicativos de andaimes como gerar , velas ou yeoman .
2. Relevância
Esta resposta é relevante para março de 2018. No futuro, os dados desta resposta podem estar obsoletos.
O autor desta resposta usou pessoalmente o pacote generate em março de 2018.
3. Limitações
Você precisa usar o git e o GitHub para usar o generate-package.
4. Demonstração
Por exemplo, eu crio uma pasta em branco
sasha-npm-init-vs-generate-package
.4.1 generate-package
Comando:
package.json
:4.2 npm init
Eu acho que,
generate-package
mais simplesmente, issonpm init
.5. Customizando
Que criar o seu próprio
package.json
modelo, consulte gerar e Yeoman exemplos.fonte