// 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
рдЬреЛрдбрд╝рдирд╛ред