tutorial node iniciar examples desde correr con como cero arrancar archivo aplicacion abrir javascript es6-modules

javascript - node - Usando import fs desde ''fs''



node js examples (4)

Quiero usar import fs from ''fs'' en JavaScript. Aquí hay una muestra:

import fs from ''fs'' var output = fs.readFileSync(''someData.txt'') console.log(output)

El error que recibo cuando ejecuto mi archivo usando el node main.js es:

(function (exports, require, module, __filename, __dirname) { import fs from ''fs '' ^^^^^^ SyntaxError: Unexpected token import

¿Qué debo instalar en el nodo para lograr importar módulos y funciones desde otros lugares?


Para las exportaciones predeterminadas debes usar:

import * as fs from ''fs'';

O en caso de que el módulo haya nombrado exportaciones:

import {fs} from ''fs'';

Ejemplo:

//module1.js export function function1() { console.log(''f1'') } export function function2() { console.log(''f2'') } export default function1;

Y entonces:

import defaultExport, { function1, function2 } from ''./module1'' defaultExport(); // This calls function1 function1(); function2();

Además, debes usar webpack o algo similar para poder usar es6 import


Para usar la import { readFileSync } from ''fs'' , tendrás que hacer lo siguiente:

  1. Estar usando el node 10+
  2. Utilice el --experimental-modules (en el nodo 10), por ejemplo, nodo --experimental-modules server.mjs (consulte la explicación # 3 para .mjs)
  3. Cambie el nombre de la extensión de archivo de su archivo con las declaraciones de import , a .mjs , .js no funcionará , por ejemplo server.mjs

Las otras respuestas llegan a 1 y 2, pero 3 también son necesarias. También tenga en cuenta que esta función se considera extremadamente experimental en este punto (estabilidad 1/10) y no se recomienda para la producción ... pero probablemente la usaré en prod: D

Aquí está la documentación del nodo 10 esm , por favor agradezca y acepte mi respuesta ya que es la única correcta: D: D



El soporte de módulos ES6 en node.js es bastante reciente; Incluso en las versiones de vanguardia, todavía es experimental. Con el nodo 10, puede iniciar el nodo con el --experimental-modules , y es probable que funcione.

Para importar en versiones de nodo más antiguas, o en el nodo estándar 10, use la sintaxis de CommonJS:

const fs = require(''fs'');