Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mendapatkan nilai pulangan "Eksport Lalai" semasa mengimport?

<p>Ringkasnya, saya mempunyai <kod>js</code> fail yang lalai eksportnya mengembalikan objek. </p> <pre class="brush:js;toolbar:false;">// x.js eksport lalai ()=>({ teks: 'teks' }) </pra> <p>Saya mahu mengimportnya ke dalam fail <kod>js</code> dan menggabungkannya dengan datanya (semacam memanjangkannya). Sekarang saya melakukan ini: </p> <pre class="brush:js;toolbar:false;">// y.js import x daripada './x.js'; const obj = x() eksport lalai ()=>({ ...obj, teks2: "teks2" }) </pra> <p>Ia berfungsi, tetapi ia tidak bersih. Adakah terdapat cara yang lebih mudah untuk melakukan ini? </p>
P粉595605759P粉595605759418 hari yang lalu556

membalas semua(1)saya akan balas

  • P粉715304239

    P粉7153042392023-08-28 09:40:08

    Saya fikir, "Saya mahu menggunakan pendekatan yang bersih," pendekatan yang mudah difahami. Oleh itu, perkara berikut mungkin berkesan -

    <强>1. Eksport lalai-
    Ini berguna untuk mengeksport hanya satu objek, fungsi atau pembolehubah. Semasa proses import kita boleh mengimport menggunakan sebarang nama.

    // 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());

    Eksport lalai juga boleh digunakan seperti ini-
    Ini berguna kerana kita boleh menggunakan mana-mana nama untuk berseronok kerana ia adalah eksport lalai dengan nama (supaya kita boleh mengingati nama itu) dan import dengan sebarang nama.

    // 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. Eksport bernama (disyorkan)-
    Ini berguna untuk mengeksport berbilang nilai. Semasa proses import, nama yang sama mesti digunakan untuk mengelakkan kekeliruan antara nama eksport dan import.

    // 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());

    Edit--

    Eksport bernama juga boleh digunakan seperti ini (tanpa menggunakan fungsi const dan anak panah)

    // 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());

    balas
    0
  • Batalbalas