Para um novo módulo, estou tentando usar npm build
sem gulp / Grunt / outras ferramentas especializadas de compilação.
"scripts": {
"build": "node build.js"
},
Meu build.js é simplesmente
console.log('Hello')
No entanto, executando
npm build
Simplesmente sai sem imprimir nada, com o status 0.
Corrida:
npm install
Também faz todas as coisas normais, mas também não executa o build.js.
Como posso fazer o npm executar meu script de construção?
Editar: mesmo comandos simples do bash parecem não funcionar, por exemplo
"scripts": {
"build": "touch TESTFILE"
},
Não cria um arquivo com esse nome.
javascript
node.js
build
npm
mikemaccana
fonte
fonte
install
vez disso.Respostas:
Infelizmente,
npm build
já existe um comando interno , conforme descrito nos documentos :Como esse comando já existe, sempre sombreia o seu
"build": "node build.js"
.A maneira totalmente qualificada de executar seu próprio script é com
run-script
ou seu aliasrun
:npm start
e outros são abreviados, mas é apenas uma opção quando um comando npm existente não o oculta, como onpm build
faz.A posteridade (como outros já mencionaram)
npm build
é usada pelo npm para criar addons nativos do C / C ++ Node usando o node-gyp . Não está bem documentado, porque geralmente acontece automaticamente, mas se você estiver interessado, o código fonte está aqui .fonte
npm build
faz? Tanto quanto eu posso ver isso deixa todos os arquivos completamente inalterada ...npm install
e o npm encontra um pacote que possui ligações C / C ++ ou geralmente sth que precisa do node-gyp para ser executado, ele é iniciadonpm build
. Você pode reconstruir esses pacotes simplesmente executandonpm build
sozinho._build
enpm build
deve ser um atalho comonpm start
enpm test
npm build
não chamará meu script e que é usado para criar componentes compilados de um pacote. Ainda não tenho certeza de como isso acontece: quais arquivos ele procura, etc?npm build
com o que significa ...O script nomeado como "build" em
package.json
não é especial de forma alguma. A única maneira de fazê-lo funcionar é chamar:Existem alguns nomes que são chamados automaticamente pelo npm , mas "build" não é um deles. A lista completa é:
prepublish
,publish
,postpublish
preinstall
,install
,postinstall
preuninstall
,uninstall
,postuninstall
preversion
,version
,postversion
pretest
,test
,posttest
prestop
,stop
,poststop
prestart
,start
,poststart
prerestart
,restart
,postrestart
preCUSTOM
epostCUSTOM
para nomes de scripts personalizados.fonte
OK, para executar uma compilação por si só, use:
fonte
Eu tive um problema ao
npm run build
não imprimir nada. acabou usandonpm run build --verbose
para obter a saída que eu precisava.fonte
Npm build espera
Tente usar scripts npm em seu package.json, como o clássico npm start
fonte
npm build .
deve funcionar e, no meu caso, o npm executa o script "build" no meu "package.json", como eu esperava.