Kami menggunakan SystemJS untuk memuat dua bundel: aurelia.js
dan app-build.js
. SystemJs memuatnya satu demi satu. Bagaimana kita bisa meminta SystemJs untuk memuatnya secara bersamaan?
Config.js kami, dengan detail dihilangkan untuk kejelasan, terlihat seperti ini:
System.config({
defaultJSExtensions: true,
transpiler: "none",
paths: {
// omitted
},
meta: {
// omitted
},
map: {
// omitted
},
bundles: {
"app-build.js": [
"about.html!github:systemjs/plugin-text@0.0.3.js",
"about.js",
"admin.html!github:systemjs/plugin-text@0.0.3.js",
"admin.js",
// et cetera
],
"aurelia.js": [
"github:HubSpot/tether@1.3.2.js",
"github:HubSpot/tether@1.3.2/js/tether.js",
"github:Leaflet/Leaflet@0.7.7.js",
"github:Leaflet/Leaflet@0.7.7/dist/leaflet-src.js",
// et cetera
]
},
depCache: {
// omitted
}
});
1 menjawab
config.js
memberi tahu pemuat SystemJS di mana bundel setiap modul berada. SystemJS kemudian malas memuat bundel karena modul diperlukan. Alasan Anda melihat hal di atas adalah karena hierarki ketergantungannya linier. index.html
Anda mungkin memiliki baris seperti ini:
System.import('aurelia-bootstrapper');
Jadi SystemJS mencari model 'aurelia-bootstrapper' dan memuat bundel yang membutuhkannya. Bootstrapper kemudian memulai dengan memuat file main.js
atau app.js
Anda tergantung pada konfigurasi Anda.
Solusi terbaik
Jangan jangan pisahkan bundel Anda. Jika Anda memaketkan, Anda mungkin juga GZipping, karena keduanya standar untuk lingkungan produksi dan harus selalu terjadi bersamaan. GZip akan mencapai rasio kompresi yang lebih tinggi jika Anda menggabungkan semua file ke dalam satu file. Ada sedikit alasan untuk memisahkan bundel Anda, kecuali jika Anda tidak membuat bundel itu sendiri.
Solusi lainnya
Tambahkan impor manual dari bundel Anda yang lain dengan impor 'aurelia-bootstrapper' di index.html
Anda.
<script>
System.import('my-module/main');
System.import('aurelia-bootstrapper');
</script>
app-build
dapat diterapkan saataurelia
tidak dimuat?app-build
bergantung padaaurelia
. Ini tidak bisa diterapkan tanpanya. Saya ingin tahu... dapatkah kita memuatapp-build
secara bersamaan dengan ketergantungannya?System.config(...)
sendiri tidak memuat apa pun. Jikaapp-build
berisi kode yang memulai aplikasi, maka tidak, Anda tidak dapat memuatnya secara bersamaan, karenaapp-build
akan dieksekusi setelah memuat, danaurelia
seharusnya sudah dimuat saat ini .