// in next.config.js
module.exports = {
entry: "./entry",
};
// or
module.exports = {
entry: {
client: "./entry/client",
server: "./entry/server",
},
};
ΠΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ import "../entry/server.js";
Π² pages/_document.js
ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π° Π² 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;
},
};
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² entry
. ΠΡΠΎ ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°Π·Π±ΡΠΎΡ:
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;
},
};
ΠΠ° @jcheroske, Π²Π°ΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅.
Π― ΠΎΠ±Π½ΠΎΠ²Π»Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄.
Π Π·Π°ΠΊΡΡΠ²Π°Ρ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅
import "../entry/server.js";
Π²pages/_document.js
ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π° Π²next.config.js
.