zoukankan      html  css  js  c++  java
  • webpack4配置

    新版本的webpack@4在打包之后默认是对js进行了压缩的,那么如何设置不自动压缩呢,这需要用到webpack的mode配置

    mode

    提供模块化的配置选项告诉webpack使用相应的优化选项。当不对它进行配置的时候,默认值是"production",我们只需要将该值设置为"development",则webpack则不会对打包后的js文件进行压缩,示例:

    // webpack.config.js
    module.exports = { 
    	mode: "development"
    }
    

    mode可选的值如下:

    描述
    development 会将 process.env.NODE_ENV 的值设为 development。启用 NamedChunksPlugin 和 NamedModulesPlugin
    production (默认)会将 process.env.NODE_ENV 的值设为 production。启用 FlagDependencyUsagePlugin, FlagIncludedChunksPlugin, ModuleConcatenationPlugin, NoEmitOnErrorsPlugin, OccurrenceOrderPlugin, SideEffectsFlagPlugin 和 UglifyJsPlugin
    none 不设置任何自动优化配置

    记住,只设置 NODE_ENV,则不会自动设置 mode

    各个值对应的详细配置见下文.

    Mode: development

    // webpack.development.config.js
    module.exports = {
    + mode: 'development'
    - devtool: 'eval',
    - cache: true,
    - performance: {
    -   hints: false
    - },
    - output: {
    -   pathinfo: true
    - },
    - optimization: {
    -   namedModules: true,
    -   namedChunks: true,
    -   nodeEnv: 'development',
    -   flagIncludedChunks: false,
    -   occurrenceOrder: false,
    -   sideEffects: false,
    -   usedExports: false,
    -   concatenateModules: false,
    -   splitChunks: {
    -     hidePathInfo: false,
    -     minSize: 10000,
    -     maxAsyncRequests: Infinity,
    -     maxInitialRequests: Infinity,
    -   },
    -   noEmitOnErrors: false,
    -   checkWasmTypes: false,
    -   minimize: false,
    -   removeAvailableModules: false
    - },
    - plugins: [
    -   new webpack.NamedModulesPlugin(),
    -   new webpack.NamedChunksPlugin(),
    -   new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("development") }),
    - ]
    }
    

    Mode: production

    // webpack.production.config.js
    module.exports = {
    +  mode: 'production',
    - performance: {
    -   hints: 'warning'
    - },
    - output: {
    -   pathinfo: false
    - },
    - optimization: {
    -   namedModules: false,
    -   namedChunks: false,
    -   nodeEnv: 'production',
    -   flagIncludedChunks: true,
    -   occurrenceOrder: true,
    -   sideEffects: true,
    -   usedExports: true,
    -   concatenateModules: true,
    -   splitChunks: {
    -     hidePathInfo: true,
    -     minSize: 30000,
    -     maxAsyncRequests: 5,
    -     maxInitialRequests: 3,
    -   },
    -   noEmitOnErrors: true,
    -   checkWasmTypes: true,
    -   minimize: true,
    - },
    - plugins: [
    -   new TerserPlugin(/* ... */),
    -   new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify("production") }),
    -   new webpack.optimize.ModuleConcatenationPlugin(),
    -   new webpack.NoEmitOnErrorsPlugin()
    - ]
    }

    Mode: none

    // webpack.custom.config.js
    module.exports = {
    + mode: 'none',
    - performance: {
    -  hints: false
    - },
    - optimization: {
    -   flagIncludedChunks: false,
    -   occurrenceOrder: false,
    -   sideEffects: false,
    -   usedExports: false,
    -   concatenateModules: false,
    -   splitChunks: {
    -     hidePathInfo: false,
    -     minSize: 10000,
    -     maxAsyncRequests: Infinity,
    -     maxInitialRequests: Infinity,
    -   },
    -   noEmitOnErrors: false,
    -   checkWasmTypes: false,
    -   minimize: false,
    - },
    - plugins: []
    }

    转自 https://blog.csdn.net/huzhenv5/article/details/105151480

  • 相关阅读:
    vue2-highcharts 动态加载数据
    css选择器易混符号(~波浪号、+加号、>大于号)
    前端压缩字体文件---成功
    数组里添加一行数据(splice)
    new Date(date).getTime()不兼容iphone
    关于表单验证的正则表达式
    vuejs+webpack环境搭建
    Bootstrap弹出层(modal)垂直居中简单解决方案(无需修改js)
    $.get、$.post、$getJSON、$ajax的用法跟区别
    流式布局- 流式图片
  • 原文地址:https://www.cnblogs.com/zhishaofei/p/13837351.html
Copyright © 2011-2022 走看看