如何获取导入时'导出默认”的返回值?
P粉595605759
P粉595605759 2023-08-27 23:36:46
0
1
585
<p>简单地说,我有一个 <code>js</code> 文件,其导出默认值返回一个对象。</p> <pre class="brush:js;toolbar:false;">// x.js export default ()=>({ text: 'text' }) </pre> <p>我想将其导入另一个 <code>js</code> 文件中并将其与其数据合并(有点扩展它)。 现在我正在这样做:</p> <pre class="brush:js;toolbar:false;">// y.js import x from './x.js'; const obj = x() export default ()=>({ ...obj, text2: "text2" }) </pre> <p>它可以工作,但不干净。有没有更简单的方法来做到这一点?</p>
P粉595605759
P粉595605759

全部回复(1)
P粉715304239

我认为,“我想使用一种干净的方法”,这是一种易于理解的方法。因此,以下方法可能有用 -

1。默认导出-
这对于仅导出单个对象、函数或变量非常有用。在导入过程中,我们可以使用任何名称来导入。

// x.js
export default function xFunc() {
    return { text: "text" };
}

//y.js
import xFunc from "./x.js";
export default function yFunc() {
    return {
        ...xFunc(),
        text2: "text2",
    };
}

// import y in any file
import yFunc from "./y";
console.log(yFunc());

默认导出也可以这样使用-
这很有用,因为我们可以使用任何名称来娱乐,因为它是带有名称的默认导出(因此我们可以记住该名称)并使用任何名称导入。

// x.js
function xFunc() {
  return { text: "text" };
}
export { xFunc as default };

// y.js
import anyName from "./x.js";
function yFunc() {
  return {
    ...anyName(),
    text2: "text2",
  };
}
export { yFunc as default };

// import y in any file
import anyName from "./y";
console.log(anyName());

2。命名导出(推荐)-
这对于导出多个值很有用。导入过程中,必须使用相同的名称,以避免导出和导入名称之间的混淆。

// x.js
export const xFunc = () => { text: "text" };

//y.js
import { xFunc } from "./x.js";
export const yFunc = () => {
  return {
    ...xFunc(),
    text2: "text2",
  };
};

// import y in any file
import { yFunc } from "./y";
console.log(yFunc());

编辑--

命名导出也可以这样使用(不使用 const 和箭头函数)

// x.js
function xFunc() {
  return { text: "text" };
}
export { xFunc };

//y.js
import { xFunc } from "./x.js";
function yFunc() {
  return {
    ...xFunc(),
    text2: "text2",
  };
}
export { yFunc };

// import y in any file
import { yFunc } from "./y";
console.log(yFunc());
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板