Saya perlu melakukan sesuatu seperti:
if (condition) {
import something from 'something';
}
// ...
if (something) {
something.doStuff();
}
Kode di atas tidak dikompilasi; itu melempar SyntaxError: ... 'import' and 'export' may only appear at the top level
.
Saya mencoba menggunakan System.import
seperti yang ditunjukkan di sini , tetapi saya tidak tahu dari mana System
asalnya. Apakah ini proposal ES6 yang akhirnya tidak diterima? Tautan ke "API terprogram" dari artikel itu mencampakkan saya ke laman dokumen yang tidak digunakan lagi .
package.json
; saya gulpfile
kemudian memeriksa apakah ketergantungan itu ada sebelum melakukan beberapa langkah membangun.
webpack
dan babel
untuk transpile es6 ke es5. Proyek seperti webpack-rewire
dan sejenisnya tidak membantu di sini - github.com/jhnns/rewire-webpack/issues/12 . Salah satu cara untuk menetapkan uji ganda ATAU untuk menghapus dependensi yang bermasalah bisa berupa impor bersyarat.
webpack
digunakan untuk mengubah stylesheet ke dalam modul yang memasukkan gaya yang relevan ke dalam DOM ketika mereka diimpor) tetapi modul juga perlu dijalankan di luar browser (misalnya untuk pengujian unit).