Answer the question
In order to leave comments, you need to log in
How to configure Webpack to not compress files like min.js?
I want to add a library with the min.js type, but webpack does its file mimicry on top of it, how can I disable it, and just add this file without further compression, because after the webpack the library throws errors like undefined something, thanks in advance
module.exports = {
externals: {
paths: PATHS,
},
entry: {
app: PATHS.src,
// module: `${PATHS.src}/your-module.js`,
},
output: {
filename: `${PATHS.assets}js/[name].[contenthash].js`,
path: PATHS.dist,
/*
publicPath: '/' - relative path for dist folder (js,css etc)
publicPath: './' (dot before /) - absolute path for dist folder (js,css etc)
*/
publicPath: '/',
},
optimization: {
minimize: true,
minimizer: [
new UglifyJsPlugin({
include: /\.min\.js$/,
}),
],
splitChunks: {
cacheGroups: {
vendor: {
name: 'vendors',
test: /node_modules/,
chunks: 'all',
enforce: true,
},
},
},
},
module: {
rules: [
{
// JavaScript
test: /\.js$/,
loader: 'babel-loader',
exclude: '/node_modules/',
},
{
// Fonts
test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
loader: 'file-loader',
options: {
name: '[name].[ext]',
},
},
{
// images / icons
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]',
},
},
{
// scss
test: /\.scss$/,
use: [
'style-loader',
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'postcss-loader',
options: {
sourceMap: true,
config: {
path: `./postcss.config.js`,
},
},
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
},
},
],
},
],
},
resolve: {
alias: {
'~': PATHS.src, // Example: import Dog from "~/assets/img/dog.jpg"
'@': `${PATHS.src}/js`, // Example: import Sort from "@/utils/sort.js"
},
},
plugins: [
new MiniCssExtractPlugin({
filename: `${PATHS.assets}css/[name].[contenthash].css`,
}),
new CopyWebpackPlugin({
patterns: [
// Images:
{
from: `${PATHS.src}/${PATHS.assets}img`,
to: `${PATHS.assets}img`,
},
// Fonts:
{
from: `${PATHS.src}/${PATHS.assets}fonts`,
to: `${PATHS.assets}fonts`,
},
],
}),
//Automatic creation any html pages
...PAGES.map(
(page) =>
new HtmlWebpackPlugin({
template: `${PAGES_DIR}/${page}`,
filename: `./${page}`,
})
),
],
}
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question