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

impor nextjs tetapi jangan aktifkan fungsi lempar Modul tidak ditemukan:Kesalahan:Tidak dapat menyelesaikan 'dns'

Ini adalah masalah yang sangat halus dengan kode sisi server di nextjs.

Kesalahannya jelas :Anda mencoba mengeksekusi kode sisi server (kueri mongo) dalam kode sisi klien. Yang tidak jelas adalah penyebabnya, karena saya yakin Anda tidak salah kode...

Setelah beberapa debug, saya menemukan bahwa kesalahan ini terjadi jika Anda mengimpor kode mongo Anda dan tidak menggunakannya. Lihat di bawah untuk memahami cara menghindarinya .

Contoh baik dan buruk

Jadi, ini berfungsi dengan baik:

import { findUsers } from '../lib/queries'

function Home({ users }) {
  return (
    <h1>Users list</h1>
    //users.map and so on...
  )
}

export async function getServerSideProps() {
  const users = await findUsers()
  return {
    props: {
      users: users
    }
  }
}

export default Home

Sementara ini akan menimbulkan kesalahan:

import { findUsers } from '../lib/queries'

function Home({ users }) {
  return (
    <h1>Users list</h1>
    //users.map and so on...
  )
}

export async function getServerSideProps() {
  // call disabled to show the error
  // const users = await findUsers()
  return {
    props: {
      users: [] //returned an empty array to avoid other errors
    }
  }
}

export default Home

Cara menghindarinya

Untuk menghindari kesalahan ini, hapus saja impor kode sisi server di komponen Anda jika Anda tidak menggunakan di getServerSideProps .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo tidak dapat memulai

  2. Spring Data MongoDB Annotation @CreatedDate tidak berfungsi, ketika ID ditetapkan secara manual

  3. Memperbarui array bersarang di mongodb

  4. Node.js berjanji dengan mongoskin

  5. php data mongo agregat