MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Modul tidak ditemukan:Kesalahan:Tidak dapat menyelesaikan modul 'modul' mongodb saat menggabungkan dengan webpack

Saat Webpack memaketkan modul Anda, ia mengikuti rantai dependensi dari modul yang telah Anda impor (atau diperlukan) dan menarik semua dependensinya dan juga memaketkannya sampai ke akhir rantai.

Jika ada file yang tidak tahu cara memuatnya dalam rantai ketergantungan itu, maka jenis kesalahan ini akan muncul.

Ini terkadang dapat diselesaikan dengan menambahkan pemuat yang tahu cara memuat jenis ketergantungan ini. Namun, jika ketergantungannya adalah modul non-asli maka Webpack tidak dapat memuatnya. Beberapa pemuat tahu cara memuat modul dengan dependensi non-asli dengan mematikan dan mengecualikan bagian non-asli sehingga akan dimuat. Dalam fs modul misalnya Anda tidak perlu dapat membaca dan menulis file dari disk karena browser tidak dapat melakukannya sehingga tidak perlu menyertakan bagian itu.

Ini menimbulkan pertanyaan:Apa fungsi dari modul luwak yang Anda butuhkan di browser? Bisakah Anda menyertakan fungsionalitas itu saja dan bukan seluruh modul luwak?

Jika Anda dapat melakukan ini maka Anda mungkin dapat memecahkan 2 masalah:

  1. Anda mungkin memecahkan masalah bundling Webpack karena bagian dari luwak yang Anda sertakan dalam proyek Anda tidak memiliki sub-dependensi yang bermasalah.
  2. Anda akan membuat bundel yang lebih kecil dengan Webpack karena Anda hanya akan menyertakan bagian yang Anda perlukan sehingga muatan bundle.js ke klien akan jauh lebih kecil.

Sebagai contoh, saya baru-baru ini perlu menggunakan generator mongodb ObjectId di klien. Saya menemukan bahwa Webpack tidak dapat mengatasi import mongodb from 'mongodb' komponen jadi menggali dependensi saya menemukan bahwa mongodb tergantung pada mongodb-core yang tergantung pada bson yang memiliki ObjectId metode yang saya butuhkan.

Dengan hanya mengimpor bson komponen rantai ketergantungan itu saya mengatasi masalah Webpack dan membuat bundel saya jauh lebih kecil.

Jika Anda menggunakan Npm 3 maka kemungkinan besar bson diinstal di root node_modules jika Anda sudah menggunakan luwak atau mongodb maka Anda dapat import tanpa menempatkan referensi eksplisit untuk itu di package.json . Anda . Ini jelas membawa risiko bahwa jika ketergantungan atas berhenti bergantung padanya maka build Anda akan rusak dan Anda harus npm install itu secara mandiri. Keuntungan menggunakan pendekatan ini adalah Anda akan selalu menggunakan versi bson yang sama bahwa ketergantungan atas menggunakan yang mungkin penting.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menggunakan AngularJs dan MongoDB/Mongoose

  2. Muat data percikan ke Mongo / Memcached untuk digunakan oleh layanan Web

  3. Sortir MongoDB vs agregat $ sort pada indeks array

  4. pilihan berbeda dalam lithium

  5. $lookup ketika foreignField berada di array bersarang