¿Cómo se traduce este código:
import a from "./a" export default a; export { default as b } from "./b";¿A node.js usando sintaxis clásica?
// This is what I have tried module.exports = { ...require("./a"), b: require("./b), } import a, { b } from "index"; const a, { b } = require("index");Para usar con require necesitarás un poco más. Si puede usar import/export , será mejor.
Si compila este código con TypeScript, esta es la salida generada
/index.ts
Aporte
import a from "./a"; export default a; export { default as b } from "./b";Producción
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); exports.__esModule = true; exports.b = void 0; var a_1 = require("./a"); console.log("a", a_1["default"]); exports["default"] = a_1["default"]; var b_1 = require("./b"); __createBinding(exports, b_1, "default", "b"); /test.ts
Aporte
import a, { b } from "."; console.log("a", a); console.log("b", b);Producción
"use strict"; exports.__esModule = true; var _1 = require("."); console.log("a", _1["default"]); console.log("b", _1.b);Esto es simplemente:
module.exports = require("./a"); module.exports.b = require("./b);Tenga cuidado de que el orden de las exportaciones sea importante: el valor predeterminado es lo primero.
O, si lo prefiere:
module.exports = Object.assign(require("./a"), { b: require("./b") });Puede usar valores predeterminados y no predeterminados de esta manera:
export default function A(){} export function B(){} export function C(){} ´´´ To import use : import A, {B,C} from "...path from component"; ... your code´´´
Espero ayudarte ;)