我是靠谱客的博主 漂亮棒棒糖,最近开发中收集的这篇文章主要介绍UglifyJs打包报错:Unexpected token: keyword const,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景描述:

  UglifyJS Webpack Plugin插件用来缩小(压缩优化)js文件,至少需要Node v6.9.0和Webpack v4.0.0版本。

  webpack 4之前的版本是通过webpack.optimize.CommonsChunkPlugin来压缩js,webpack 4版本之后被移除了,使用config.optimization.splitChunks来代替。

最近,JavaScript项目在打包过程中莫名其妙报错:

[1m�[31mERROR in js/main.404d3f8fe19d82485946.js from UglifyJs
Unexpected token: keyword «const» [./node_modules/ismobilejs/esm/isMobile.js:1,0][js/main.404d3f8fe19d82485946.js:4414,0][39m�[22m

  Build failed with errors.
glifyJs 不能识别 const语法。
问题原因:
1、是UglifyJS不支持ES6的语法。
2、发现uglifyjs-webpack-plugin 2.0版本的Release日志中,明确提示重新切换回到uglify-js,因为uglify-es被废弃了,
如果需要ES6代码压缩,请使用terser-webpack-plugin

解决方案

1.使用 terser-webpack-plugin 替换 uglifyjs-webpack-plugin 进行代码压缩。

npm install terser-webpack-plugin --save-dev
或
npm i terser-webpack-plugin -S  

2.引入terser-webpack-plugin

const TerserPlugin = require('terser-webpack-plugin')

3.使用TerserPlugin
在这里插入图片描述
使用 TerserPlugin 替换 UglifyJsPlugin , 有参数terserOptions时,用 uglifyOptions 替换, 其他参数基本一致。
在这里插入图片描述

更详细的参数可以参看文档:https://github.com/webpack-contrib/terser-webpack-plugin

最后

以上就是漂亮棒棒糖为你收集整理的UglifyJs打包报错:Unexpected token: keyword const的全部内容,希望文章能够帮你解决UglifyJs打包报错:Unexpected token: keyword const所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部