Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah maksud eksport dalam javascript

Apakah maksud eksport dalam javascript

WBOY
WBOYasal
2022-01-12 15:22:597721semak imbas

Dalam JavaScript, eksport bermaksud "eksport"; semua pengisytiharan dalam modul dalam JavaScript adalah tempatan Modul boleh dieksport menggunakan kata kunci eksport Fail JS boleh memuatkan modul melalui arahan import.

Apakah maksud eksport dalam javascript

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.

Apakah maksud eksport dalam JavaScript

Secara lalai, semua pengisytiharan dalam modul JavaScript adalah setempat dan tidak boleh dibuat secara luaran. Jika anda perlu mendedahkan beberapa kandungan yang diisytiharkan dalam modul dan membiarkan modul lain menggunakannya, anda perlu mengeksport fungsi Cara paling mudah ialah menambah kata kunci eksport untuk mengeksport modul.

Kandungan yang boleh dieksport termasuk kelas, fungsi dan pembolehubah yang diubah suai oleh var, let dan const. Perintah eksport boleh muncul di mana-mana dalam modul, selagi ia berada di peringkat atas modul. Jika ia berada dalam skop peringkat blok, ralat akan dilaporkan, begitu juga dengan arahan import.

Selepas menggunakan perintah eksport untuk menentukan antara muka luaran modul, fail JS lain boleh memuatkan modul ini melalui arahan import.

Arahan import mempunyai kesan angkat dan akan dinaikkan pangkat kepada ketua keseluruhan modul dan dilaksanakan terlebih dahulu. Memandangkan import dilaksanakan secara statik, ungkapan dan pembolehubah tidak boleh digunakan Ini adalah struktur sintaks yang hasilnya hanya boleh diperoleh pada masa jalan.

1. Import/eksport lalai import/eksport lalai

Setiap modul hanya mempunyai satu eksport lalai dan kandungan eksport boleh menjadi fungsi, kelas, objek, dsb. . Oleh kerana kaedah ini dianggap sebagai kandungan eksport utama, kaedah import adalah yang paling mudah.

// there is no semi-colon here
export default function() {} 
export default class {}
//示例
class A extends Component{
   ...
}
export default A;
//对应的import示例。
import A from './requireTest'
//default export, 输入 lodash 模块
import _ from 'lodash';
//一条import语句中,同时输入默认方法和其他变量
import _, { each } from 'lodash';
//上述代码对应的export语句
export default function (obj) {
  // ···
}
export function each(obj, iterator, context) {
  // ···
}
export { each as forEach };

Nota: Satu modul hanya dibenarkan untuk mengeksport satu objek lalai Apa yang sebenarnya dieksport ialah pembolehubah bernama lalai untuk menamakan semula Pernyataan yang setara adalah seperti berikut. Oleh itu, sebarang nama pembolehubah boleh digunakan selepas import dan {} tidak diperlukan.

import any from './requireTest'
import {default as any } from './requireTest'

2 Dinamakan import dan eksport

Perlu diambil perhatian bahawa arahan eksport menentukan antara muka luaran, yang mesti diwujudkan satu demi satu dengan pembolehubah dalam modul. Di samping itu, output antara muka oleh pernyataan eksport mempunyai hubungan mengikat dinamik dengan nilai yang sepadan, iaitu, melalui antara muka ini, nilai masa nyata di dalam modul boleh diperolehi.

Arahan import menerima sepasang kurungan kerinting, yang menentukan nama pembolehubah untuk diimport daripada modul lain. Nama pembolehubah di dalam kurungan kerinting mestilah sama dengan nama antara muka luaran modul yang diimport (profile.js). Jika anda ingin menamakan semula pembolehubah input, gunakan kata kunci sebagai dalam arahan import untuk menamakan semula pembolehubah input.

Import dari selepas menentukan lokasi fail modul, yang boleh menjadi laluan relatif atau laluan mutlak Laluan .js boleh diabaikan. Jika ia hanya nama modul tanpa laluan, maka mesti ada fail konfigurasi untuk memberitahu enjin JavaScript lokasi modul.

// profile.js
//第一种export
export var firstName = 'Michael';
export function f() {};
//第二种export,优先使用这种写法
var firstName = 'Michael';
export {firstName};
function f() {}
export {f};
//main.js
import { firstName, f } from './profile';
import { firstName as surname } from './profile';

3. Namakan semula import dan eksport

export { myFunction }; // exports a function declared earlier
export const foo = Math.sqrt(2); // exports a constant

Apabila mengimport kandungan eksport modul yang berbeza, keunikan penamaan mesti dikekalkan. Ini boleh diselesaikan dengan menamakan semula, termasuk dua kategori berikut.

//导出的时候重命名
function v1() { ... }
function v2() { ... }
export {
      v1 as streamV1,
      v2 as streamV2,
      v2 as streamLatestVersion  //可以用两个不同的名称导出相同的值
};
//导入的时候重命名
// 这两个模块都会导出以`flip`命名的东西。同时导入两者,需要将其中一个的名称改掉。
import {flip as flipOmelet} from "eggs.js";
import {flip as flipHouse} from "real-estate.js";

4 Penulisan kompaun eksport dan import

Jika dalam modul, modul yang sama dimasukkan dahulu dan kemudian keluaran, pernyataan import boleh digunakan dengan penyata eksport ditulis bersama.

export { foo, bar } from 'my_module';
// 等同于
import { foo, bar } from 'my_module';
export { foo, bar };

[Cadangan berkaitan: Tutorial pembelajaran javascript]

Atas ialah kandungan terperinci Apakah maksud eksport dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn