Next.js: Tambahkan file entri untuk menambahkan sesuatu di seluruh halaman (seperti polyfill).

Dibuat pada 3 Feb 2017  ·  3Komentar  ·  Sumber: vercel/next.js

// in next.config.js

module.exports = {
  entry: "./entry",
};

// or

module.exports = {
  entry: {
    client: "./entry/client",
    server: "./entry/server",
  },
};

Komentar yang paling membantu

Berikut adalah solusi untuk saat ini:

Menambahkan import "../entry/server.js"; di pages/_document.js dan menambahkan kode di bawah ini ke next.config.js .

module.exports = {
  webpack: (config) => {
    const entryFactory = config.entry;
    config.entry = () => (
      entryFactory()
        .then((entry) => {
          entry["main.js"] = [
            "./entry/client.js",
            ...entry["main.js"],
          ];
          return entry;
        })
    );
    return config;
  },
};

Semua 3 komentar

Berikut adalah solusi untuk saat ini:

Menambahkan import "../entry/server.js"; di pages/_document.js dan menambahkan kode di bawah ini ke next.config.js .

module.exports = {
  webpack: (config) => {
    const entryFactory = config.entry;
    config.entry = () => (
      entryFactory()
        .then((entry) => {
          entry["main.js"] = [
            "./entry/client.js",
            ...entry["main.js"],
          ];
          return entry;
        })
    );
    return config;
  },
};

Kode di atas membuat array entry bersarang. Apakah itu yang dibutuhkan, atau haruskah ada penyebaran:

module.exports = {
  webpack: (config) => {
    const entryFactory = config.entry;
    config.entry = () => (
      entryFactory()
        .then((entry) => {
          entry["main.js"] = [
            "./entry/client.js",
            ...entry["main.js"], // <-- Flatten the array?
          ];
          return entry;
        })
    );
    return config;
  },
};

Yap @jcheroske saran Anda benar.
Saya akan memperbarui kode asli.

Dan saya menutup masalah ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat