亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

webpack 如何同時輸出壓縮和未壓縮的文件的實現(xiàn)步驟

 更新時間:2020年06月05日 08:31:55   作者:灰風GreyWind  
這篇文章主要介紹了webpack 如何同時輸出壓縮和未壓縮的文件的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

有的時候我們想要同時生成壓縮和未壓縮的文件,比如我們構(gòu)建 lib 包的時候,我們希望用戶能夠使用壓縮過后的代碼文件作為 cdn 文件,最簡單的一個方式就是通過指定環(huán)境變量,比如指定 MINIFY,如下:

const path = require('path')

const isMinify = process.env.MINIFY

/**
 * @type {import('webpack').Configuration}
 */
const config = {
 entry: {

  index: './src/index.js'
 },
 output: {
  filename: isMinify ? '[name].min.js' : '[name].js',
  path: path.join(__dirname, 'dist')
 },
 devtool: 'cheap-source-map',
 optimization: {
  minimize: isMinify ? true : false
 }
}

module.exports = config

我們在使用的時候通過指定環(huán)境變量就可以打包成不同的版本:

 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "build:min": "MINIFY=1 webpack --config=webpack.config.js",
  "build": "webpack --config=webpack.config.js"
 }

不過這樣的缺點就是我們需要運行兩次。

第二個方法是安裝unminified-webpack-plugin,通過這個插件可以生成沒有壓縮的文件:

const path = require('path')
const UnminifiedWebpackPlugin = require('unminified-webpack-plugin');

/**
 * @type {import('webpack').Configuration}
 */
const config = {
 entry: {
  index: './src/index.js',
 },
 output: {
  filename: '[name].min.js',
  path: path.join(__dirname, 'dist')
 },
 devtool: 'cheap-source-map',
 plugins: [
  new UnminifiedWebpackPlugin({})
 ]
}

module.exports = config

不過這個有個缺點就是未壓縮的文件沒有 sourcemap。

第三種方法通過指定多個打包入口,然后手動指定壓縮插件(uglifyjs、terser等)壓縮哪些文件,如我們指定 index.min.js 這個文件才需要壓縮,配置如下:

const path = require('path')
const TerserWebpackPlugin = require('terser-webpack-plugin');

/**
 * @type {import('webpack').Configuration}
 */
const config = {
 entry: {
  index: './src/index.js',
  'index.min': './src/index.js'
 },
 output: {
  filename: '[name].js',
  path: path.join(__dirname, 'dist')
 },
 devtool: 'cheap-source-map',
 optimization: {
  minimize: true,
  minimizer: [
   new TerserWebpackPlugin({
    include: /min/,
    sourceMap: true
   })
  ]
 }
}

module.exports = config

關(guān)鍵點如下:

這個時候生成的就完美了。

到此這篇關(guān)于webpack 如何同時輸出壓縮和未壓縮的文件的文章就介紹到這了,更多相關(guān)webpack 如何同時輸出壓縮和未壓縮的文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論