Я использую webpack-cli 4.7.0. У меня есть библиотека, которую я хотел бы скомпилировать для двух разных сред: одну для Интернета и одну для узла. Согласно этой документации, это легко достигается путем экспорта двух отдельных допустимых конфигураций webpack из webpack. конфиг.js.
Итак, я создал две действительные конфигурации веб-пакета, одну для сервера и одну для клиента. Webpack выводит два отдельных файла, как указано, но настаивает на использовании self вместо этого, хотя я указал output.globalObject: "this"
в конфигурации. Если я понимаю официальную документацию, такого быть не должно.
webpack.config.js
const path = require( "path" );
// const webpack = require( "webpack" );
const serverConfig = {
mode: "production",
entry: "./src/Check4.js",
target: "node",
output: {
path: path.resolve( __dirname, "dist" ),
filename: "Check4.node.js",
globalObject: "this",
library : {
type: "commonjs2",
export: "default"
}
}
};
const clientConfig = {
mode: "production",
entry: "./src/Check4.web.js",
target: "web",
output: {
path: path.resolve( __dirname, "dist" ),
filename: "Check4.js",
globalObject: "this",
library : {
name: "Check4",
type: "window",
}
}
};
module.exports = [serverConfig, clientConfig];
для справки, вот первые несколько байтов, выведенных веб-пакетом, чтобы показать, что он использует глобальную личность вместо этого
(()=>{var e={172:e=>{self,e.exports=(()=>{"use strict";var e={502:...