what readfilesync nodejs does __dirname javascript node.js node-webkit

javascript - readfilesync - Node.js no puede requerir un archivo.js en el mismo directorio



path nodejs (1)

Tengo un proyecto de nodo-webkit con main.js En la parte superior, tengo

var updater = require("./updater.js");

y tengo un archivo llamado updater.js en el mismo directorio que main.js Cuando ejecuto la aplicación, me sale el error.

Uncaught Error: Cannot find module ''./updater.js''

updater.js tiene una línea en ella:

module.exports = "Hello!";

No tengo idea de por qué no puede requerir el archivo. He visto otro proyecto hacer lo mismo. Puedo require módulos npm regulares muy bien desde el mismo main.js


Esto se debe a que, cuando ejecuta su aplicación (main.js) usando node-webkit, el directorio raíz (en funcionamiento) es donde se encuentra el index.html, por lo que ''./'' se refiere a ese directorio no al directorio en el que se encuentra el archivo. solicitando el módulo desde está en.

Puede resolver este problema fácilmente utilizando el método de resolución en el módulo de nodo ''ruta'' y proporcione la salida del mismo al método requerido en su archivo de trabajo

Simplemente haga lo siguiente:

var path = require(''path''); var updater = require( path.resolve( __dirname, "./updater.js" ) );

EDITAR: here puede encontrar información sobre el objeto de nodo global ''__dirname'' (y otros).