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 node main.js es:
(function (exports, require, module, __filename, __dirname) { import fs from 'fs ' ^^^^^^ SyntaxError: Unexpected token import¿Qué debo instalar en Node.js para lograr importar módulos y funciones desde otros lugares?
Para las exportaciones predeterminadas, debe 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 luego:
import defaultExport, { function1, function2 } from './module1' defaultExport(); // This calls function1 function1(); function2(); Además, debe usar Webpack o algo similar para poder usar la import ES6
El soporte de módulos ES6 en Node.js es bastante reciente; incluso en las versiones de vanguardia, todavía es experimental. Con Node.js 10, puede iniciar Node.js con el --experimental-modules y probablemente funcionará.
Para importar versiones anteriores de Node.js, o Node.js 10 estándar, use la sintaxis de CommonJS :
const fs = require('fs');Para usar import { readFileSync } from 'fs' , tienes que:
--experimental-modules (en Node.js 10), por ejemplo, node --experimental-modules server.mjs (consulte el n.º 3 para obtener una explicación de .mjs)import , a .mjs , .js no funcionará , por ejemplo, server.mjsLas otras respuestas dan en el 1 y el 2, pero el 3 también es necesario. Además, tenga en cuenta que esta función se considera extremadamente experimental en este punto (estabilidad de 1/10) y no se recomienda para producción, pero probablemente la seguiré usando.
Aquí está la documentación de Node.js 10 ESM .