Puedes usar el módulo abierto:
npm install --save open
y luego llámelo en su archivo Node.js:
const open = require('open');
open('my-file.txt');
Este módulo ya contiene la lógica para detectar el sistema operativo y ejecuta el programa predeterminado que su sistema asocia a este tipo de archivo.
como dijo PSkocik, primero detecte la plataforma y obtenga la línea de comando:
function getCommandLine() {
switch (process.platform) {
case 'darwin' : return 'open';
case 'win32' : return 'start';
case 'win64' : return 'start';
default : return 'xdg-open';
}
}
segundo, ejecute la línea de comando seguida de la ruta
var exec = require('child_process').exec;
exec(getCommandLine() + ' ' + filePath);
Para archivo en un disco:
var nwGui = require('nw.gui');
nwGui.Shell.openItem("/path/to/my/file");
Para archivos remotos (por ejemplo, página web):
var nwGui = require('nw.gui');
nwGui.Shell.openExternal("http://google.com/");