Apakah ada biaya kinerja jika menggunakan beberapa impor, bukan satu impor bernama

Saya bertanya-tanya apakah ada biaya kinerja jika kami melakukan beberapa impor, seperti:

import { wrapper } from './components/wrapper';
import { error } from './components/error';
import { products } from './components/products';

Di setiap folder komponen saya memiliki index.js dan mengekspornya sesuai namanya, seperti:

export { default as wrapper } from '.wrapper';

Dibandingkan dengan:

Impor semua file dengan nama impor dari sumber yang sama, seperti:

import {
   wrapper,
   error,
   products,
 } from './components';

Di folder components saya memiliki indeks tempat saya mengumpulkan dan mengekspor semua file, seperti:

export { wrapper } from '...';
export { error } from '...';
export { products } from '...';

person Theo Itzaris    schedule 06.03.2020    source sumber
comment
Saya tidak tahu tentang kinerjanya, tetapi saya akan melakukannya ketika saya akhirnya harus mengulangi impor umum pada banyak file. Lebih mudah untuk mengubah satu tempat daripada 10+   -  person epascarello    schedule 06.03.2020
comment
Tergantung, apakah Anda melakukan bundling. misalnya. Webpack dll, atau apakah Anda menggunakan import browser?, jika Anda menggunakan browser import maka menggunakan file lain bernama ./components akan menjadi pengambilan lain ke server, jadi secara teori bisa lebih lambat. Saya katakan teori, karena menggunakan http2/spdy sebenarnya bisa meniadakan efek itu juga.   -  person Keith    schedule 06.03.2020
comment
mengapa Anda bahkan peduli dengan kinerja?   -  person Jonas Wilms    schedule 06.03.2020
comment
@JonasWilms Semua orang harus peduli dengan kinerja. Tapi saya tidak yakin itu yang Anda maksud, tapi jangan melakukan pra-optimasi.   -  person Keith    schedule 06.03.2020


Jawaban (2)


Menurut spesifikasi ES262, pernyataan import dan export hanya memberikan informasi tentang ketergantungan antar modul ke mesin. Bagaimana modul sebenarnya dimuat pada akhirnya tergantung pada mesin (namun ada beberapa kendala). Jadi apakah sebenarnya ada perbedaan antara mengimpor dari sumber vs. mengimpor ekspor ulang bergantung pada lingkungan.

Apapun perbedaannya mungkin tidak relevan. Pilih yang terbaik untuk Anda.

person Jonas Wilms    schedule 06.03.2020

Saya penggemar pendekatan itu. Saya suka membagi beberapa komponen ke dalam folder dan hanya memaparkan apa yang saya inginkan ke seluruh aplikasi saya. Menurut saya hal itu tidak berdampak pada kinerja dev. (Jelas, tidak ada perbedaan sama sekali pada prod karena keseluruhan proyek dikemas dalam satu file)

person Kevin Gilbert    schedule 06.03.2020