module.exports = {
module: {
rules: [
{
test: /\.js$/,
include: path.resolve('src'),
use: [
'thread-loader',
// любой CPU-bound loader (например babel-loader)
],
},
],
},
};
module.exports = {
module: {
rules: [
{
test: /\.ts$/,
use: [
{
loader: 'ts-loader',
options: {
transpileOnly: true
}
}
]
}
]
}
}
module: {
rules: [
{
test: /\.js$/,
exclude: /(node_modules)/,
use: {
// для конфигурации можно использовать конфиг `.swcrc`
loader: "swc-loader"
}
}
]
}
module.exports = {
// ...
optimization: {
removeAvailableModules: false,
removeEmptyChunks: false,
splitChunks: false,
}
};
module.exports = {
//...
module: {
rules: [
{
test: /\.js$/,
include: path.resolve(__dirname, 'src'),
loader: 'babel-loader',
},
],
},
};
module.exports = {
//...
module: {
noParse: /jquery/,
},
};
cache: {
type: 'filesystem'
}
module.exports = {
module: {
rules: [
{
test: /\.ts$/,
loader: 'ts-loader',
// Начиная с версии ts-loader 9.3.0 указывать
// transpileOnly при использовании ForkTsCheckerWebpackPlugin не нужно
}
]
},
plugins: [new ForkTsCheckerWebpackPlugin()],
}
module.exports = {
devServer: {
http2: true,
https: {
key: fs.readFileSync('/path/to/server.key'),
cert: fs.readFileSync('/path/to/server.crt')
},
},
};
module.exports = {
experiments: {
lazyCompilation: true,
},
};
module.exports = {
experiments: {
lazyCompilation: {
// Выключает ленивую сборку для динамических импортов
imports: false,
// Выключает ленивую сборку для entry файлов
entries: false,
// Исключает из ленивой сборки moduleB
test: (module) => !/moduleB/.test(module.nameForCondition()),
},
},
};
module.exports = {
entry: {
vendor: ["react", /* любые ваши зависимости, например lodash, d3, jquery */]
},
mode: "development",
output: {
path: path.join(__dirname, "prebundle"),
filename: "vendor.bundle.js",
library: "vendor_lib"
},
plugins: [
new webpack.DllPlugin({
context: __dirname,
name: "vendor_lib",
path: path.join(__dirname, "prebundle", "vendor-manifest.json"),
})
]
};
module.exports = {
plugins: [
new webpack.DllReferencePlugin({
context: __dirname,
manifest: path.join(__dirname, "prebundle", "vendor-manifest.json")
})
]
}
{
"scripts": {
"build": "webpack",
"prebuild": "webpack --config vendor.webpack.config.js",
"build:all": "npm run prebuild && npm run build"
}
}
[production]
your supported browsers go here...
[development]
last 2 Chrome versions
last 2 Firefox versions
last 1 Safari version