Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Webpack4优化问题

Webpack4优化问题
EN

Stack Overflow用户
提问于 2018-10-06 22:23:09
回答 1查看 1.8K关注 0票数 2

快凌晨两点了,为了找个错误,我简直要发疯了。

"Error: webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead."控制台告诉我100次...

我试着这样修改我的webpack.config.js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
optimization: {
        minimize: false
      }

还有这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  optimization: {
        minimizer: [
          // we specify a custom UglifyJsPlugin here to get source maps in production
          new UglifyJsPlugin({
            cache: true,
            parallel: true,
            uglifyOptions: {
              compress: false,
              ecma: 6,
              mangle: true
            },
            sourceMap: true
          })
        ]
      },

总是同一个问题..。

我的文件是正常的,因为它也是捆绑的,但当我尝试打开它时

"start": "webpack-dev-server --mode development --open --hot"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"start": "opener http://localhost:3000 & httpster -p 3000 -d ./dist"

好吧,这没关系,我读了很多关于这个的文章,这是webpack3 -> webpack4版本的一些问题,但我复制了一些配置代码,就是想不出如何解决它(也许是因为我一个接一个地12+小时使用笔记本电脑,累得要死,但我要睡觉了,只希望当我醒来的时候有人,伟大的人,也能帮助我解决这个问题。

如果你是那种想给我一篇文章而不是答案的人--这也很棒!我充满了学习新东西的热情。

但是,如果你在答案和文章上提供帮助-它会给你带来100+的运气:)

下面是我的webpack.config.js和package.json:

(我留下这个const UglifyJsPlugin = require('uglifyjs-webpack-plugin');只是为了向您展示我也试图用它做一些优化)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/webpack.config.js


var webpack = require("webpack")
var path = require("path")
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
process.noDeprecation = true

module.exports = {
    entry: "./src/index.js",
    output: {
        path:path.join(__dirname, 'dist', 'assets'),
        filename: "bundle.js",
        sourceMapFilename: 'bundle.map'
    },
    devtool: '#source-map',
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /(node_modules)/,
                loader: 'babel-loader',
                query: {
                    presets: ['env', 'stage-0', 'react']
                }
            },
            {
                test: /\.css$/,
                use: ['style-loader','css-loader', {
                    loader: 'postcss-loader',
                    options: {
                      plugins: () => [require('autoprefixer')]
                    }}]
            },
            {
                test: /\.scss/,
                use: ['style-loader','css-loader', {
                    loader: 'postcss-loader',
                    options: {
                      plugins: () => [require('autoprefixer')]
                    }}, 'sass-loader']
            }
        ]
    },
    plugins: [
        new webpack.DefinePlugin({
            "process.env": {
                NODE_ENV: JSON.stringify("production")
            }
        }),
        new webpack.optimize.UglifyJsPlugin({
            sourceMap: true,
            warnings: false,
            mangle: false
        })
    ]
}

    /package.json 

{
  "name": "try",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "webpack-dev-server --mode development --open --hot",
    "build": "webpack --mode production"
  },
  "keywords": [
    "React",
    "state",
    "setState",
    "explicitly",
    "passing",
    "props"
  ],
  "author": "andrii",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-loader": "^7.1.5",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1",
    "css-loader": "^1.0.0",
    "html-webpack-plugin": "^3.2.0",
    "postcss-loader": "2.0.6",
    "style-loader": "^0.23.0",
    "uuid": "^3.3.2",
    "sass-loader": "6.0.6",
    "webpack": "^4.19.0",
    "webpack-cli": "^3.1.0"
  },
  "dependencies": {
    "babel-plugin-syntax-object-rest-spread": "^6.13.0",
    "babel-preset-stage-2": "^6.24.1",
    "httpster": "1.0.3",
    "isomorphic-fetch": "^2.2.1",
    "prop-types": "^15.6.2",
    "react": "^16.5.1",
    "react-dom": "^16.5.1",
    "react-icons": "^3.1.0",
    "react-redux": "5.0.6",
    "react-router-dom": "^4.3.1",
    "uglifyjs-webpack-plugin": "^2.0.1",
    "webpack-dev-server": "^3.1.8"
  }
}

此外,为了避免任何愤怒的情绪,我听了这个:http://prntscr.com/l31bam on replay on 2+ hours如果你喜欢古典音乐和钢琴-这首曲子很棒。

感谢您的宝贵时间,祝您度过愉快的一天!

EN

回答 1

Stack Overflow用户

发布于 2018-10-07 03:06:50

我在生产环境中使用webpack4,也必须使用UglifyJsPlugin。

首先,我要确保您的package.json中有正确版本的webpack和UglifyJsPlugin我目前有"webpack": "4.20.2","uglifyjs-webpack-plugin": "2.0.1",来确保它们已正确安装我建议您通过运行:rm -rf node_modules && npm installrm -rf node_modules && yarn install来仔细检查是否已安装正确版本。

接下来,我将检查配置。我的webpack.production.js如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 // ...

 const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

 // ...

     mode: 'production',
     optimization: {
        minimizer: [
            new UglifyJsPlugin({
                cache: true,
                parallel: true,
                sourceMap: false, // set to true if you want JS source maps
            }),
        ],
    },
    module: {
        //...
   },
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52683852

复制
相关文章
Webpack4 性能优化实践
在使用 Webpack 时,如果不注意性能优化,可能会产生性能问题,会导致在开发体验上不是非常丝滑,性能问题主要是编译速度慢,打包体积过大,因此性能优化也主要从这些方面来分析。本文主要是自己平时的工作积累和参考别人的文章,而进行总结,基于 Webpack4 版本。
发声的沉默者
2021/06/14
1.2K0
Webpack4 性能优化实践
webpack4:css/sass编译优化分离,处理引用资源
在上篇中,解决了webpack4关于多页面及分离第三方库js和共用自定义库js的配置,本篇将以此为基础继续配置css引入、分离等功能。
前端_AWhile
2019/08/29
2.9K0
重学webpack4之构建速度提升和体积优化
5.执行npm run build,发现那些被拆分的包,没有打进业务代码中,符合预期
疯狂的技术宅
2020/12/15
1.2K0
重学webpack4之构建速度提升和体积优化
webpack4 入门
源码地址 https://github.com/lilugirl/learn-webpack4/tree/master/3
lilugirl
2019/10/08
5430
webpack4 新特性
wepack4 出来已经有半年了,目前最新的 release 版本为 4.19.0。由于之前项目打包一直存在性能问题,所以我一直很关注 webpack 和其社区的发展。目前来说 webpack4 已经趋于稳定,很多关键的插件也都更新了对 webpack4 的支持;更为重要的是,webpack4 的官方文档(中英文)已经很完善了,因此现在不学习 webpack4,更待何时。根据 webpack 作者 Tobias Koppers 的说法,他们已经着手开始开发 webpack5 了。
李振
2021/11/26
1.2K0
webpack4 新特性
Webpack4 搭建 Vue 项目
由于 Parcel 打包工具的影响,webpack4 也追求零配置搭建项目。而前阵子出现的 vue-cli 3.0也是基于 webpack4 零配置的思想创建的。对于一些习惯webpack3 的开发者难免有些不习惯。本文就带你绕过 vue-cli,用 webpack4 一步步搭建 vue 项目。
小皮咖
2019/11/05
1.1K0
webpack4配置学习(一)
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
小周sir
2019/09/23
5900
webpack4配置学习(一)
webpack4 使用指南
本文作者:IMWeb zixinfeng 原文出处:IMWeb社区 未经同意,禁止转载 webpack4 基础 npm init --yes yarn add webpack webpack-dev-server webpack-cli mkdir src && touch index.mjs package.json scripts: {"webpack": "webpack --mode=production"} npm run webpack 查看dist目录下面自动会存在main.js
IMWeb前端团队
2019/12/03
9040
webpack4使用笔记
如果要使用import scss的用法 ,可以在css-loader上添加 options属性 importLoaders 让import进来的css也能使用到postcss loader 和sass loader
lilugirl
2020/04/24
8320
webpack4使用笔记
webpack4之原理分析
运行命令后 npm让命令行工具进入node_modules/.bin目录查找是否存在webpack.sh或者webpack.cmd文件 如果存在,则执行,不存在,抛出错误(node_modules/wepback/bin/wepback.js)
疯狂的技术宅
2020/12/15
7600
webpack4之原理分析
webpack4新特性介绍
当下最流行的模块打包器 webpack 于2018年2月25日正式发布v4.0.0版本,代号legato。从官方的 发布日志 来看, 本次大版本更新带来了很多新特性更新和改善,这将会让webpack的配置更加简单。本文,笔者将会全面介绍webpack4的新特性及实践。
腾讯IVWEB团队
2020/06/24
8770
Webpack4 常用配置详解
实现Webpack的打包最基本的就是配置好入口、出口,npm install webpack后在根目录创建webpack.config.js,代码如下:
EchoROne
2022/08/15
1.5K0
重学webpack4之plugin开发
事件钩子会有不同的类型 SyncBailHook,AsyncSeriesHook,SyncHook等
疯狂的技术宅
2020/11/26
5510
mysql 问题与优化
InnoDB: 其数据文件本身就是索引文件。相比MyISAM,索引文件和数据文件是分离的,其表数据文件本身就是按B+Tree组织的一个索引结构,树的叶节点data域保存了完整的数据记录。这个索引的key是数据表的主键,因此InnoDB表数据文件本身就是主索引。这被称为“聚簇索引(或聚集索引)”。而其余的索引都作为辅助索引,辅助索引的data域存储相应记录主键的值而不是地址,这也是和MyISAM不同的地方。在根据主索引搜索时,直接找到key所在的节点即可取出数据;在根据辅助索引查找时,则需要先取出主键的值,再走一遍主索引。 因此,在设计表的时候,不建议使用过长的字段作为主键,也不建议使用非单调的字段作为主键,这样会造成主索引频繁分裂。
Tim在路上
2020/08/04
5920
日常问题: SQL优化
日常开发中,除了开辟新项目,业务需求开发,一般还要做负责系统的日常运维。比如线上告警了,出bug了,必须及时修复。这天,运维反馈mysql cpu告警了,然后抓了该时间节点的慢sql日志,要开发分析解决。
Ryan-Miao
2022/09/26
4340
[算法系列]最优化问题综述
优化问题一般可分为两大类:无约束优化问题和约束优化问题,约束优化问题又可分为含等式约束优化问题和含不等式约束优化问题。
统计学家
2019/04/10
2.8K0
[算法系列]最优化问题综述
webpack3 升级 webpack4
成功升级之后,于是来记录下,项目主要是 vue ^2.5.9 , webpack ^4.10.2 , webpack-dev-sever ^3.1.4 ,配合升级的还有 vue-loader ^15
chuchur
2022/10/25
6450
webpack4实用配置指南-上手篇
算起来已经有3到4个项目的webpack构建打包经历。然而每次搭建起来还是有新手既视感,比较捉急。工具用法的东西,好记性不如烂笔头,有必要系统梳理下webpack的配置常用配置以及构建优化。
elson
2018/06/19
4.8K0
webpack4 中如何实现资源内联?
资源内联(inline resource),就是将一个资源以内联的方式嵌入进另一个资源里面,我们通过几个小例子来直观感受一下。
腾讯IVWEB团队
2020/06/28
1.3K0
基于Msnhnet实现最优化问题(中)一(无约束优化问题)
牛顿法最突出的优点是收敛速度快,具有局部二阶收敛性,但是,基本牛顿法初始点需要足够“靠近”极小点,否则,有可能导致算法不收敛。
BBuf
2021/07/23
8630

相似问题

Jquery + webpack4问题

20

scalajs和webpack4配置设置问题

12

升级webpack4 webpack-合并反应问题

10

Nodejs、Webpack4

10

webpack4 lodash大小太大

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文