Eu desenvolvi um programa node.js usando a estrutura expressa no meu computador, onde ele funciona bem, sem queixas.
No entanto, quando executo o programa no dispositivo SUSE Studio, onde ele se destina a viver, recebo um erro em qualquer interação do arquivo.
Error: ENOENT, stat './path/to/file'
Eu verifiquei se as permissões do arquivo estão corretas, quais são. Meu computador e meu dispositivo estão executando versões diferentes do nó, se isso importa.
Alguma ideia?
__dirname + 'path/to/file';
Respostas:
Os caminhos especificados com a
.
são relativos ao diretório de trabalho atual, não ao arquivo de script. Portanto, o arquivo pode ser encontrado se você executar,node app.js
mas não se você executarnode folder/app.js
. A única exceção érequire('./file')
e isso só é possível porquerequire
existe por módulo e, portanto, sabe de que módulo está sendo chamado.Para criar um caminho relativo ao script, você deve usar a
__dirname
variávelou potencialmente
fonte
Aqui o código para usar seu app.js
entrada especifica o nome do arquivo
fonte