webpack3如何升级为webpack4?

webpack3升级到webpack4优化打包 项目开发至今已有2年多,随着模块的不断迭代,打包的速度逐渐变慢,现在打包大约要用37分钟,这速度堪忧… 本文主要针对打包加速的2种思路: 1、在webpack3的基础上的打包优化 用DllPlugin插件加速打包,最后打包速度大约用9分钟 用happypack+webpack-parallel-uplift-plug-in多线程打包工具,最后打包速度大约在5分种 前面2种方式结合,打包速度能优化到4分钟 DllPlugin插件的配置: 步骤一:在build文件夹下,新建dll.config.js 阅读详情

在这里插入图片描述

这次webpack升级提升了不少构建速度:生产打包提升了30%;开发构建提升40%,开发热更新提升70%

之前尝试过一些在webpack3的基础上做的构建优化,例如引入HappyPack优化构建速度,开启loader缓存和优化包查找路径等等,详情可以查看前端webpack构建优化

但是随着时间的推移,这种优化产生的效果越来越弱化,手上的项目体积越来越大,对本地开发热更新速度和生产打包发布速度都有了很大的影响。

webpack3升级到webpack4迫在眉睫,这篇博文将记录一些我在升级过程中遇到的坑。

当你遇到这些坑时,通过搜索引擎找到我这篇文章,如果能够解决了手上的webpack配置问题,然后发自内心的感到 ”Save my day!“,”It helps me!“,”Solved my problem!“,”Works for me!“ ,我会感觉自己的这篇博文很有意义。

  • 升级到 webpack 4
  • 移除 CommonsChunkPlugin,默认使用 SplitChunksPlugin 分割代码
  • 升级 html-webpack-plugin
  • 移除 extract-text-webpack-plugin,引入 mini-css-extract-plugin 并配置 css-loader
  • 配置 mode 属性
  • 升级 vue-loader 到 v14.2.2
  • 更新 HtmlWebpackPlugin 的 chunkSortMode
  • 修复大小限制的报错
  • 重命名 app.js,生成 vendors.js
  • mini-css-extract-plugin 的配置放在 webpack.base.conf.js
  • 调试开发环境可用
  • 引入analyzer分析分析包大小
  • webpack3与webpack4打包对比
  • 文件可以更小一些吗?构建速度可以更快一些吗?
  • 升级vue-loader到v15并且替换happyPack为thread-loader
  • webpack3与webpack4开发依赖对比
  • 总结
升级 webpack 到 4

“webpack”: “^3.6.0” -> “webpack”: “^4.43.0”

yarn add -D webpack@4.43.0
移除 CommonsChunkPlugin
plugins: [
  // // split vendor js into its own file
  // new webpack.optimize.CommonsChunkPlugin({
  //   name: 'vendor',
  // }),
  // // extract webpack runtime and module manifest to its own file in order to
  // // prevent vendor hash from being updated whenever app bundle is updated
  // new webpack.optimize.CommonsChunkPlugin({
  //   name: 'manifest',
  //   minChunks: Infinity,
  // }),
  // // This instance extracts shared chunks from code splitted chunks and bundles them
  // // in a separate chunk, similar to the vendor chunk
  // // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
  // new webpack.optimize.CommonsChunkPlugin({
  //   name: 'app',
  //   async: 'vendor-async',
  //   children: true,
  //   minChunks: 3,
  // }),
];
升级 html-webpack-plugin

“html-webpack-plugin”: “^2.30.1” -> “html-webpack-plugin”: “^4.3.0”

// https://stackoverflow.com/questions/49942558/deprecationwarning-tapable-plugin-is-deprecated-use-new-api-on-hooks-instea
// error
Tapable.apply is deprecated. Call apply on the plugin directly instead
yarn add -D html-webpack-plugin@latest
移除 extract-text-webpack-plugin,引入 mini-css-extract-plugin 并配置 css-loader
// const ExtractTextPlugin = require('extract-text-webpack-plugin');
// plugins:[
// extract css into its own file
// new ExtractTextPlugin({
//   filename: utils.assetsPath('css/[name].[contenthash].css'),
//   // Setting the following option to `false` will not extract CSS from codesplit chunks.
//   // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by
//   // webpack. It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit
//   // bundle as well when it's `false`, increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
//   allChunks: true,
// }),
// ]

// extract: true
// if (options.extract) {
//   return ExtractTextPlugin.extract({
//     use: loaders,
//     fallback: 'vue-style-loader',
//   });
// }
yarn add -D mini-css-extract-plugin
// webpack.prod.conf.js
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
plugins: [
    new MiniCssExtractPlugin(filename: utils.assetsPath('css/[name].[contenthash].css'))
];
// webpack.base.conf.js
module.exports = {
  module: {
    rules: [
      {
        test: /\.(sa|sc|c)ss$/,
        use: [
          {
            loader: MiniCssExtractPlugin.loader,
            options: {
              hmr: process.env.NODE_ENV === "development",
            },
          },
          "css-loader",
          "postcss-loader",
          "sass-loader",
        ],
      },
    ],
  },
};
配置 mode 属性

The ‘mode’ option has not been set, webpack will fallback to ‘production’ for this value. Set ‘mode’ option to ‘development’ or ‘production’ to enable defaults for each environment.

mode: "production";
升级 vue-loader

“vue-loader”: “^13.3.0” -> “vue-loader”: “14.2.2”

TypeError: Cannot read property ‘vueOptions’ of undefined

yarn add -D vue-loader@latest

vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin in your webpack config

// https://github.com/symfony/webpack-encore/issues/311
You probably use vue-loader v15 which was released yesterday and introduces a lot of changes compared to v14. One of these changes is that you have to use an extra plugin: VueLoaderPlugin (that's not handled yet by Encore).

In the meantime could you try removing your version of the vue-loader/VueLoaderPlugin and adding vue-loader@^14.2.2 instead?
yarn add -D vue-loader@14.2.2
(1:1) Unknown word

> 1 | // extracted by mini-css-extract-plugin

移除 postcss-loader。

// postcss: generateLoaders()
更新 HtmlWebpackPlugin 的 chunkSortMode
// https://www.cnblogs.com/wyliunan/p/10238717.html
Unhandled rejection Error: "dependency" is not a valid chunk sort mode

设置为 HtmlWebpackPlugin 的 chunkSortMode 为"auto": https://github.com/jantimon/html-webpack-plugin#options

修复大小限制的报错

AssetsOverSizeLimitWarning: asset size limit: The following asset(s) exceed the recommended size limit (244 KiB 250000Byte).
This can impact web performance.

// webpack.config.js
module.exports = {
  performance: {
    hints: "warning",
    maxEntrypointSize: 5000 * 1024,
    maxAssetSize: 5000 * 1024,
  },
};
生成 manifest.js,生成 vendors.js
// https://webpack.js.org/configuration/optimization/#optimizationsplitchunks
// 生成manifest.js
optimization: {
    runtimeChunk: {
        name:'manifest'
    }
},
// https://webpack.js.org/plugins/split-chunks-plugin/#split-chunks-example-1
// 生成 vendors.js
optimization: {
  splitChunks: {
    cacheGroups: {
      commons: {
        test: /[\\/]node_modules[\\/]/,
        name: 'vendors',
        chunks: 'all',
      },
    },
  },
}
  output: {
-   chunkFilename: utils.assetsPath('js/[id].[chunkhash].js'),
+   chunkFilename: utils.assetsPath('js/[name].[chunkhash].js'),
  },
调试开发环境可用
Error: Cannot find module 'webpack/bin/config-yargs'

https://github.com/mzgoddard/jest-webpack/issues/27
"webpack-cli": "^2.1.3",
"webpack-dev-server": "^3.1.4"
mode: 'development',
// webpack Error: Callback was already called.
// https://github.com/webpack-contrib/mini-css-extract-plugin/issues/493
// webpack.dev.js
plugins:[
    new MiniCssExtractPlugin(),
]
// https://segmentfault.com/q/1010000012054980
// BaseClient.js:12 Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

安装transform-es2015-modules-commonjs并且在.babelrc中配置。

yarn add -D transform-es2015-modules-commonjs
// .babelrc
"plugins": [
    "transform-es2015-modules-commonjs"
]
引入analyzer分析分析包大小
// package.json
scripts:{
  "build:analyse": "NODE_ENV=production source_map=false npm_config_report=true node build/build.js"
}
// webpack.prod.conf.js
if (config.build.bundleAnalyzerReport) {
  const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
  webpackConfig.plugins.push(new BundleAnalyzerPlugin());
}
webpack3与webpack4打包对比
版本文件大小(Parsed)文件大小(Gzipped)chunk数生产构建时间开发构建时间开发热更新体感
webpack3.6.06.09MB1.76MB7352196ms70103ms慢(12079ms)
webpack4.43.07.07MB1.98MB8840727ms45448ms快(3394ms)

机器参数:
MacBook Pro (15-inch, 2019)
处理器 2.3 GHz Intel Core i9
内存 16 GB 2400 MHz DDR4

文件可以更小一些吗?构建速度可以更快一些吗?
  • 未使用TerserPlugin而是用UglifyjsPlugin
  • OptimizeCSSPlugin位置放错
  • 如果手动配置splitChunks的话,一定要把没有配置的参数也配置上
  • devtool由最慢的“source-map”改为false

引入TerserPlugin的话,需要首先升级node到v10.17.0+。

sudo n v10.17.0
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
  optimization: {
    minimize: true,
    minimizer: [
      // Compress extracted CSS. We are using this plugin so that possible
      // duplicated CSS from different presentation can be deduped.
      new OptimizeCSSPlugin({
        cssProcessorOptions: config.build.productionSourceMap ? { safe: true, map: { inline: false } } : { safe: true },
      }),
      new TerserPlugin({
        cache: true,
        parallel: true,
        sourceMap: Boolean(config.build.productionSourceMap),
      }),
    ],
  }
}

增加下面的配置:

optimization: {
  splitChunks: {
    chunks: 'async',
    minSize: 30000,
    maxSize: 0,
    minChunks: 1,
    maxAsyncRequests: 5,
    maxInitialRequests: 3,
    automaticNameDelimiter: '~',
    automaticNameMaxLength: 30,
  }
}

现在的webpack3和webpack4打包分析:

版本文件大小(Parsed)文件大小(Gzipped)chunk数生产构建时间开发构建时间开发热更新体感
webpack3.6.06.09MB1.76MB7352196ms70103ms慢(12079ms)
webpack4.43.0(优化前)7.07MB1.98MB8840727ms45448ms快(3394ms)
webpack4.43.0(优化后)7.02MB1.98MB8834585ms45448ms快(3394ms)

通过对比发现,提升了大概5秒的打包速度。

升级vue-loader到v15并且引入thread-loader加速vue-loader
warning No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred

为什么引入thread-loader加速vue-loader?
因为HappyPack无法加速vue-loader15。
https://github.com/vuejs/vue-loader/issues/1273

yyx990803:vue-loader 15 does not support HappyPack. Use thread-loader instead.

顺便升级eslint-loader到4。
“eslint-loader”: “^1.7.1”->“eslint-loader”: “^4.0.2”

  // plugins: [
  //   new HappyPack({
  //     id: 'happy-eslint-loader',
  //     threadPool: happyThreadPool,
  //     loaders: ['eslint-loader?cacheDirectory=true'],
  //   }),
  //   new HappyPack({
  //     id: 'happy-vue-loader',
  //     threadPool: happyThreadPool,
  //     loaders: ['vue-loader?cacheDirectory=true'],
  //   }),
  //   new HappyPack({
  //     id: 'happy-babel-loader',
  //     threadPool: happyThreadPool,
  //     loaders: ['babel-loader?cacheDirectory=true'],
  //   }),
  // ]
rules: [
  {
    test: /\.(js|vue)$/,
    use: [
      { loader: 'thread-loader' },
      {
        loader: 'eslint-loader',
        options: {
          formatter: require('eslint-friendly-formatter'),
          emitWarning: !config.dev.showEslintErrorsInOverlay,
        },
      },
    ],
    enforce: 'pre',
    include: [resolve('src'), resolve('test')],
  },
  {
    test: /\.vue$/,
    use: ['thread-loader', 'vue-loader'],
    exclude: (file) => /node_modules/.test(file) && !/\.vue\.js/.test(file),
  },
  {
    test: /\.js$/,
    use: ['thread-loader', 'babel-loader'],
    include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')],
  },
  {
    test: /\.(sa|sc|c)ss$/,
    use: [
      {
        loader: process.env.NODE_ENV === 'development' ? 'vue-style-loader' : MiniCssExtractPlugin.loader,
        options: {
          hmr: process.env.NODE_ENV === 'development',
        },
      },
      'css-loader',
      'postcss-loader',
      'sass-loader',
    ],
  },
]

error:despite it was not able to fulfill desired ordering with these modules:

new MiniCssExtractPlugin({
  ignoreOrder: true,
}),

现在的webpack3和webpack4打包分析:

版本文件大小(Parsed)文件大小(Gzipped)chunk数生产构建时间开发构建时间开发热更新体感
webpack3.6.06.09MB1.76MB7352196ms70103ms慢(12079ms)
webpack4.43.0(优化前)7.07MB1.98MB8840727ms45448ms快(3394ms)
webpack4.43.0(第一次优化)7.02MB1.98MB8834585ms45448ms快(3394ms)
webpack4.43.0(第二次优化)6.7MB1.91MB8834585ms41657ms快(3394ms)
webpack3与webpack4开发依赖对比
// webpack3
"webpack": "^3.6.0"
"webpack-dev-server": "^2.9.1"
"eslint-loader": "^1.7.1"
"vue-loader": "^13.3.0"
"happypack": "^5.0.0"
"html-webpack-plugin": "^2.30.1"
"extract-text-webpack-plugin": "^3.0.0"
"uglifyjs-webpack-plugin": "^1.1.1"
// webpack4
"webpack": "^4.43.0"
"webpack-cli": "^3.3.11"
"webpack-dev-server": "^3.7.2"
"thread-loader": "^2.1.3"
"eslint-loader": "^4.0.2"
"vue-loader": "^15.9.2"
"html-webpack-plugin": "^4.3.0"
"mini-css-extract-plugin": "^0.9.0"
"terser-webpack-plugin": "^3.0.1"
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2"
总结

webpack3到webpack4的升级,主要做了以下这些事情

  • 升级依赖:升级webpack major version为webpack4,升级vue-loader,升级html-webpack-plugin等等
  • 代码分割:移除了CommonsChunkPlugin;引入SplitChunksPlugin,设置mode属性为production,optimization拆分出webpack3中的manifest和vendors
  • 压缩css:移除extract-text-webpack-plugin;引入mini-css-extract-plugin,使用mini-css-extract-plugin的loader重新配置sass-loader,postcss-loader和css-loader,它会为每个包含css的js文件单独构建一个css文件
  • 代码热更新:升级webpack-cli和webpack-dev-server,并且设置mode为development
  • 构建加速:替换happypack为thread-loader,多线程式本地构建和生产构建
反思
  • 执行力是第一生产力
  • 这次webpack升级提升了不少构建速度:生产打包提升了30%;开发构建提升40%,开发热更新提升70%
  • 这次webpack升级没有减小包大小,有尝试使用tree shaking,但是没有成功,有待在tree shaking上继续做实践

期待和大家交流,共同进步,欢迎大家加入我创建的与前端开发密切相关的技术讨论小组:

努力成为优秀前端工程师!

记录一次vue项目融合-webpack3升级到webpack4 vue项目webpack3升级到webpack4 阅读详情

相关推荐

webpack3.x升级到webpack4.x

虽然说webpack5都已经出了,但是,可能有一部分人还在用webpack3,因此这篇文章主要是基于vue-cli中到项目配置,从webpack3升级到4.x。 由于webpack3升级到4以后,很多配置项发生了变化,因此在升级过程中会遇到很多坑。 1. webpack.base.conf.js 首先。从webpack.base.conf.js开始,输入输出和上下文配置基本一样的,这边在plugin的位置引入了VueLoaderPlugin,同时把HtmlWebpackPlugin也提取到这里 p

michael8512的博客 1494

【构建工具】webpack 3、4 升级指南,摆脱低版本的困扰

插件,可以在编辑器中实时检查代码,给出错误和警告提示。这种方式可以帮助开发者在编写代码时及时发现问题,而不需要等待打包过程,不会影响。因为 babel 7 新增的 @babel 命名空间,所以原来的。插件,赋予其构建时检测代码的功能,但是会影响构建性能。文件的配置也会自动修改 但是不会删除已有的插件。中移除了旧版本的依赖,自动新增了新版名称,库实现,帮你改写需要升级的。babel 升级工具修改配置。移除旧版本依赖后重新安装依赖。大概列了下升级的效果。

秋天,黄叶坠地,凉风有信。 3193

Webpack3 升级到 webpack4 时遇到的问题汇总

项目在对 webpack 的版本升级的过程中,出现了各种各样的问题,今天就把其中比较典型的问题总结一下,作为记录。 一、MissingDeps.some is not a function 错误提示中,提示 react-dev-utils 包有问题,TypeError: MissingDeps.some is not a function。 解决方案:升级 react-utils-dev 包到...

浮沉半生的博客 1535

webpack3升级成4

webpack-cli不匹配( webpack-cli 包已经从webpack分离出来了,所以要单独安装)解决:npm install -S vue-loader@14.2.4。webpack4之后,不允许混用 exports和import。解决:改用mini-css-extract-plugin。html-webpack-plugin·版本不兼容。vue-loader和webpack 版本不兼容。webpack-dev-server版本不匹配。run dev正常打开页面空白。webpack3升级成4。

一个无聊的人的博客 600

webpack3.0升级4.0记录

webpack3.0升级4.0记录一、为什么升级webpack3.04.0有如下优点1、4.0的treeshaking,代码更轻量,减少冗余代码。2、使用了splitChunkPlugin, 告别了commonChunkPlugin,代码分割更完善了。3、引入mode参数3.1、 production参数:3.2、 development参数4、构建时间提速98%。二、安装必要依赖三、修改新的配置1、webpack.base.config.js修改2、webpack.dev.config.js修改3、web

前端程序猿steven的博客 1013

webpack3升级到webpack4遇到问题总结

主要介绍了webpack3升级到webpack4遇到问题总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

实战笔记:Vue2项目Webpack 3升级到Webpack 4的实操指南

这个问题问得很好,我最开始也是直接一键升级到最新版,一启动,直接报各种版本不匹配(哭),由于项目比较大引入的依赖太多,实在是难以推进,所以退而求其次,先升级到webpack4.x,后面再想办法往上升!!!如果改完可以正常启动,那么恭喜你!升级成功了!!如果不幸失败了,那么。。。很抱歉没有给你提供有效的帮助(哭),你也可以留言或私信,我看看有没有遇到类似报错。希望我的经验能帮助你在升级Vue2项目到Webpack 4的过程中少走弯路!

Jiaberrr的博客 3641

CCS8.1 导入CCS3.3工程方法

    CCS3.3作为开发人员使用最广开发工具,研究人员手上存在不少该版本的建立的程序版本,然而随着TI公司推出高级版本的CCS平台,在新的平台上集成了更加丰富的功能和优点。利用新版本的平台在开发和编译旧版本工程上可以节省大量时间和精力。在使用新版本开发3.3版本工程时,首要解决的就是加载3.3的工程文件,现将加载过程记录如下: 第一步:Project-&gt;Import Legacy CC...

1万+

vue webpack3 升级webpack4

vue webpack3 升级webpack4 据说webpack3 比webpack4 编译速度将近快了60%-80%, 成功升级之后,于是来记录下,项目主要是vue ^2.5.9 , webpack ^4.10.2 , webpack-dev-sever ^3.1.4 ,配合升级的还有vue-loader ^15 项目重现编译之后由原来的1.7...

chuchur 582

【论文精读】Formal Mathematical Reasoning: A New Frontier in AI

注:本文根据师兄汇报内容总结。

m0_60634555的博客 1189

AU混响终极指南:从‘干声’到‘空间感’,用总音轨和发送技巧打造专业人声

本文详细介绍了如何在Adobe Audition(AU)中使用混响效果器,通过总音轨和发送技巧将‘干声’转化为具有专业‘空间感’的人声。从混响基础原理到总线架构设置,再到精细控制和自动化调整,全面解析了提升音频质量的实用技巧,适用于音乐制作、播客和内容创作。

weixin_30512089的博客 332

webpack3升级到webpack4遇到的问题

因项目需要,要将webpack3升级到webpack4,升级前版本webpack@3.6.0 安装webpack4 npm install webpack webpack-cli --save-dev 安装完成 安装完成运行项目报错: 1.报错:Error: Cannot find module 'webpack/bin/config-yargs’ 原因:webpack 和 webpack-dev-server版本不匹配,更新webpack-dev-server 更新之后版本3.11.0 ...

龙马的猫 929

【白话系列】倍增算法

【序言】         我认为吧,所有能够优化复杂度的算法都是神奇的,所有能够化繁琐为形象的文字都是伟大的。一直觉得倍增算法是个很神奇的东西,所以决定写点东西纪念一下它。但是作为一个非常不称职的OIER,我非常讨厌在看别人的算法解析时整版的i,j,k等我看到鼠标就惯性移到右上角的符号语言,所以我想用最形象的方式来纪念它。 【一】         从前,有一只可爱得不得了的小白兔,它想从

JarjingX 3万+

webpack3升级webpack4遇到的各种问题汇总

webpack3升级webpack4遇到的各种问题汇总

牛先森家的博客 1719

Python广度优先搜索BFS - 蓝桥13届省赛污染海域

请问这片N * M海域中有几块是没被污染的独立海域(没被污染的独立海域是指该块海域上下左右被已污染的海域包围,且N * M以外的海域都为已被污染的海域)有一片海域划分为N * M个方格,其中有些海域已被污染(用0表示),有些海域没被污染(用1表示)。第二行开始输入N行,每行M个数字(数字只能为1或者0,1表示没被污染的海域,0表示已被污染的海域)这块4 * 5的海域,有3块海域(绿色)没被污染,因为每一块的上下左右都被污染的海域包围。输出一个整数,表示N * M的海域中有几块是没被污染的独立海域。

m0_69865359的博客 264

openclaw + ollama本地模型 + 飞书平台 windows平台部署教程

本教程将指导您在 Windows 10/11 环境下,通过 Ollama 运行本地模型,并结合 OpenClaw 接入飞书,搭建一个完全本地化的 AI 助手。

专注于技术研发行业技术主要有AI人工智能视觉识别、物联网技术、电商平台、app原生技术、微信小程序、鸿蒙语言开发、办公企业oa、ERP等,致力于做东半球最优秀的程序员 2173

记一次webpack3升级到webpack4的实践过程

但是随着时间的推移,这种优化产生的效果越来越弱化,手上的项目体积越来越大,对本地开发热更新速度和生产打包发布速度都有了很大的影响。 webpack3升级到webpack4迫在眉睫,这篇博文将记录一些我在升级过程中遇到的坑。......

逆水行舟,不进则退 1531

华为OD机试双机位C卷 - 比赛 / 评委评分 (C++ & Python & JAVA & JS & GO)

华为OD机试双机位C卷 比赛,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试-比赛,华为OD机考-比赛。

qq_45776114的博客 1700

webpack3升级webpack4

为了优化包体积大小,想要将老项目的webpack3升级到webpack4,再升级到webpack5 一、升级版本 1、webpack ^3.1.0 => ^4.29.6 2、webpack-cli ^3.1.2 => ^3.3.0 3、webpack-dev-server ^2.11.3 => ^3.2.1 4、html-webpack-plugin ^2.30.1 => ^3.2.0 5、vue-loader ^13.3.0 => ^15.7.0 (不升级,会报找.

litCabbage的博客 1561

华为OD机试双机位C卷-水库溃坝填补(Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【水库溃坝填补】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。水库溃坝填补。

qq_45776114的博客 2109

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

记录webpack3升级到webpack4的艰辛历程

项目的第三方样式库是vux,vux2必须配合vux-loader使用,webpack打包会做一些别的配置 这是项目升级前的一些打包和环境配置目录,升级后目录结构没有改变。在这说明只是对我或你们的项目配置看看有哪些地方有差异 1.升级webpack以及插件 升级webpack到版本4的命令 npm install --save-dev webpack@4 我这里更新到了4.8.1 同时需要安装webpack-cli npm install --save-dev webpack-cli 我这里更新到了2.1.

weixin_45532305的博客 900

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

webpack3升级webpack4所遇问题以及解决方案

作者 内容 时间 JJ webpack3升级webpack4 2022年03月28日 packjson依赖包升级 1、 "webpack": "^3.6.0" ---> "^4.44.1" 2、 "webpack-dev-server": "^2.9.1" ---> "^3.11.0" 3、 增加"webpack-cli": ---> "^3.3.12"(Webpack4之后都需要安装它) 4、 "html-webpack-plugin": "^2.30.1" ---...

m0_37296026的博客 2070

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

webpack3升级为webpack4

写在前面的话:为什么要升级,因为公司目前的项目使用webpack3,但是因为是多页应用,入口估计有一百多个,开发模式下慢得不像话,修改一个文件需要十几秒才编译好,之前的解决方案是减少入口,但是要调试其他入口的文件就必须重启,这一直是我心里的刺。后来听说webpack4优化了打包速度,于是就准备去尝试了。升级后速度直接变为热更新2秒。惊到我~ webpack3的配置 webpackCon...

anran5200的博客 240

webpack3升级为webpack4的实践

刚来到公司,接手了一个webpack3的老项目,打包需要100多秒,热更新日常不生效,需要刷新后等待15秒左右,所以我对它进行了升级,记录一下这次的升级过程和遇到的坑。 先说一下效果,这次webpack升级提升了不少打包速度:生产打包提升了30%;开发打包提升40%,开发热更新提升70%。 升级到 webpack 4 移除 CommonsChunkPlugin,默认使用 SplitChunksPlugin 分割代码 升级 html-webpack-plugin 引入 mini-css-extr

GuoZebin的博客 617
上一篇: express中间件原理connect
下一篇: HTTP之强缓存和协商缓存
趁你还年轻233
博客等级 码龄9年 49粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趁你还年轻233

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值