Я использую npm с webpack. У меня есть index.js из моего проекта, и этот файл включен
* .js файлы.
мой файл base.config вот так:
const path = require('path');
const webpack = require('webpack');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const extractCSS = new MiniCssExtractPlugin({ filename: '[name].bundle-css.css', allChunks: true });
const extractLESS = new MiniCssExtractPlugin({ filename: '[name].bundle-less.css', allChunks: true });
const WebpackMd5Hash = require('webpack-md5-hash');
const babelOptions = {
presets: [
[
'@babel/preset-env', {
targets: {
browsers: [ 'ie >= 11' ]
},
useBuiltIns: 'entry'
}
]
],
plugins: ["angularjs-annotate", "transform-remove-strict-mode"]
};
module.exports = function (env) {
return {
context: path.resolve(__dirname + '/../src/MyProject/'),
stats: {
.....
},
entry: {
zapp: [ 'babel-polyfill', './app/index.js' ] //index.js is input
},
output: {
path: path.resolve(__dirname, '../src/MyProject/dist'),
filename: '[name].bundle.js',
},
mode: 'none',
module: {
rules: [
{
test: /\.js$/,
exclude: [
path.resolve(__dirname, '/src/MyProject/app/module/pi.ui')
],
include: includePaths,
use: [{
loader: 'babel-loader?cacheDirectory=true',
options: babelOptions,
}],
},
]
}
};
};
и мой prod.config вот так:
const path = require('path');
const webpack = require('webpack');
const webpackMerge = require('webpack-merge');
const commonConfig = require('./webpack.base.config.js');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = function (env) {
return webpackMerge(commonConfig(), {
devtool: 'source-map',
devServer: {
contentBase: path.resolve(__dirname, './'), // New
compress: true
},
mode: 'production',
optimization: {
minimizer: [
new UglifyJsPlugin({
test: /\.js(\?.*)?$/i,
})
]
},
plugins: [
new HtmlWebpackPlugin({
hash: true,
inject: false,
filename: '../bundle.html',
template: 'bundle.template.ejs'
}),
new webpack.LoaderOptionsPlugin({
minimize: true,
debug: false
}),
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
})
]
});
};
Я хочу уменьшить размер моего проекта. поэтому нет необходимости * .js файл, если этот файл уже в комплекте. Мой zapp.bundle.js уже включал все файлы js. Я имею в виду, я хочу игнорировать внутри js-файла папки приложения. Есть какой-либо способ сделать это ?