最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

有的時(shí)候我們想要同時(shí)生成壓縮和未壓縮的文件,比如我們構(gòu)建 lib 包的時(shí)候,我們希望用戶能夠使用壓縮過后的代碼文件作為 cdn 文件,最簡(jiǎn)單的一個(gè)方式就是通過指定環(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

我們?cè)谑褂玫臅r(shí)候通過指定環(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"
 }

不過這樣的缺點(diǎn)就是我們需要運(yùn)行兩次。

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

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

不過這個(gè)有個(gè)缺點(diǎn)就是未壓縮的文件沒有 sourcemap。

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

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)鍵點(diǎn)如下:

這個(gè)時(shí)候生成的就完美了。

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

相關(guān)文章

最新評(píng)論

古浪县| 富锦市| 石河子市| 鄱阳县| 新闻| 哈巴河县| 藁城市| 揭东县| 宁陵县| 青阳县| 泗水县| 兴城市| 拜城县| 武冈市| 洛隆县| 德安县| 东台市| 天峻县| 库伦旗| 临江市| 阿图什市| 平定县| 衡南县| 临江市| 丰原市| 当阳市| 麟游县| 开封市| 于田县| 蒲城县| 达日县| 常山县| 合肥市| 青海省| 永善县| 蓬莱市| 交城县| 金堂县| 陈巴尔虎旗| 罗江县| 海宁市|