You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
const CompressionPlugin = require("compression-webpack-plugin"); const ManifestPlugin = require('webpack-manifest-plugin'); const SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin');
const path = require('path'); const fs = require('fs');
module.exports = function override(config, env) { if (env === "production") { // rename the ouput file, we need it's path to be short, for SPIFFS
config.output.filename = 'js/[name].[chunkhash:4].js';
// disable sourcemap for production build
config.devtool = false;
// take out the manifest and service worker
config.plugins = config.plugins.filter(plugin => !(plugin instanceof ManifestPlugin)); config.plugins = config.plugins.filter(plugin => !(plugin instanceof SWPrecacheWebpackPlugin));
const extractTextPlugin = config.plugins.find((plugin) => plugin instanceof ExtractTextPlugin); extractTextPlugin.filename = "css/[name].[contenthash:4].css";
// add compression plugin, compress javascript, html and css
config.plugins.push(new CompressionPlugin({ asset: "[path].gz[query]", algorithm: "gzip", test: /\.(js|html|css)$/, deleteOriginalAssets: true })); } return config; }
|