Eu sou novo no mundo js, isso realmente me fazconfuso, ontem eu comecei a cooperar underscore.js no meu código, então eu comecei a tentar no ambiente REPL, eu escolhi usar o console do Node, eu vim com var _ = require (./underscore.js)
então tudo funciona bem.
Hoje eu tento incorporar em html usando <script>
tag, parece que eu não preciso manualmente var _ = underscore
objeto _
já está lá.
alguém pode explicar por que e como usar o npm para instalar o sublinhado globalmente e requerê-lo sem especificar o local do arquivo (como o ruby require Module)
Respostas:
2 para resposta № 1A principal diferença é que o uso de uma tag de script adiciona todas as ligações globais do escopo do arquivo ao escopo global compartilhado por todos o código na página. Quando você está escrevendo JavaScript em um site, é como se todos os scripts diferentes estivessem em um único arquivo.
Node "s requerem, por outro lado, muito maisrazoavelmente não preenche o escopo global dessa maneira. Em vez disso, ele retorna um objeto que contém tudo exportado pelo módulo; este é basicamente o namespace do módulo. É por isso que você tem que fazer _ = require("./underscore.js")
. Isso é melhor porque você não precisa se preocupar com arquivos diferentes "variáveis globais conflitantes.