webpack打包不识别es6语法的坑

今天Vue项目npm run build 后webpack,报错uglifyjs,自己研究了一下,翻译过来,意思是不识别项目中写的高级语法,这里要把项目里es6语法转es5让浏览器识别,

也就是webpack的babel需要配置下

Babel其实是一个编译JavaScript的平台,它的强大之处表现在可以通过编译帮你达到以下目的:

  • 使用下一代的JavaScript代码(ES6,ES7...),即使这些标准目前并未被当前的浏览器完全的支持;
  • 使用基于JavaScript进行了拓展的语言,比如React的JSX;

1.先安装包

npm install  babel-preset-es2015

2.配置webpack.base.conf.js
{  test: /\.js$/,  loader: ‘babel-loader‘,  options:{    presets:["es2015"]  },  exclude:[/node_modules/]

},3.OK,重新npm run build构建工程打包,好了
时间: 2024-11-08 19:01:33

webpack打包不识别es6语法的坑的相关文章

关于安卓浏览器无法识别es6语法

这几天写代码,在highcharts的代码里用了一些es语法 在PC端及iphone上都能正常运行,在安卓上无法显示 一直不知道什么原因.后来一点点查看才发现是下面的两句es6代码 1: .map(item=>item.replace(/'/g,'')) 这句话是去掉数组里的引号.此时的数组中的每一位不是单纯的数字 2: .map(v => +v) 这句话是去掉数组里的引号.此时的数组中的每一位是单纯的数字

webpack打包编译时,不识别src目录以外的js或css

前端的dva项目开发时,遇到个很郁闷的问题,用es6的语法简单的export一个变量出来,在其他js中import使用,结果就报错了. export写法如下: 1 const enUS = { 2 account: "account:", 3 password: "password:", 4 userLogin: "User Login" 5 }; 6 export default enUS; 看起来没什么问题,对吧? import写法如下: 1

使用express、react、webpack打包、socket.io、mongodb、ant.design、less、es6实现聊天室

拿到一个项目,我们应该如何去完成这个项目呢. 是直接上手? 还是先进行分析,然后再去解决呢?毫无疑问,如果直接上手解决,那么可能会因为知道目标所在,而导致出现各种问题. 所以,我们应该系统的分析这个项目,然后再去完成. 第一步: 需求 除了上面的基本需求之外,我们还需要实现登录.注册的相关功能,这样可以保证用户的唯一性,并在后台做出记录. 第二步:确定技术栈 express --- 首先,作为前端使用node就可以取代后端java.php开发的工作,对于这个项目是必须的.作为node的框架,ex

webpack打包踩坑之TypeError: Cannot read property 'bindings' of null

file loader介绍:https://www.webpackjs.com/loaders/file-loader/ babel loader介绍:https://webpack.js.org/loaders/babel-loader/ webpack-dev-server介绍:https://www.webpackjs.com/configuration/dev-server/  ,https://www.jianshu.com/p/73d74445e5c5 今日在学习百度前端学院的一个小

Vue发布过程中遇到坑,以及webpack打包优化

前言 这段时间,本人自己做了一个vue画面部署到自己的服务器上,发现运行速度慢的的惊人,虽然服务器很渣(本人没什么钱,只能租最差的服务器,主要是给自己学习用的),但是这样开发出来的网站简直不能用,所以就查阅各种资料和网站,一步一步把代码包优化.这篇文章主要是把我调优的过程记录下来. 项目的基础框架是通过TypeScript官网取得的.各种基础框架模版 项目的构成 vue + ant-design + mysql + TypeScript vue项目地址 最后,关于如何在vue里面实现按需加载,请

webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc (();

最近做项目的时候运用vue,webpack,在打包压缩的工程中,其他压缩都没有问题,但是最后生成的bundle.js文件确报错,虽然也可以运行,但是毕竟文件大小在那里放着: 开始我的解决方案是再写一个webpack.config.js专门配置打包上面已经打包失败的bundle.js:打包压缩完成后再替换掉,这样会很麻烦: 于是在网上找很多方法,都是说配置"presets": ["es2015"]:但是我在webpack.config.js中运用后 //es6语法 n

使用webpack+babel构建ES6语法运行环境

1.前言 由于ES6语法在各个浏览器上支持的情况各不相同,有的浏览器对ES6语法支持度较高,而有的浏览器支持较低,所以为了能够兼容大多数浏览器,我们在使用ES6语法时需要使用babel编译器将代码中的ES6语法编译为ES5语法,下面就开始搭建一个基于webpack+babel的ES6语法运行环境. 2.需要安装的包 搭建环境之前我们需要安装以下JS包: webpack(安装webpack,必装) babel-loader和babel-core(babel转码器,必装) babel-preset-

gulp打包js多个文件夹并压缩混淆,编译ES6语法

感觉和webpack的步骤差不多 首先安装gulp:参考上一篇 安装完之后 新建一个文件目录起名 在当前目录下打开cmd 执行:npm init 创建package.json文件 然后安装第一个插件gulp-uglify 执行: cnpm install gulp-uglify --save-dev (这里暂时都用淘宝镜像cnpm) 这时候已经可以开始压缩es5的js文件了,但是我们要编译es6语法,那就需要babel 执行: cnpm install gulp-babel --save-dev

webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc «(», expected punc «:»

webpack打包压缩 ES6 js..vue报错: ERROR in js/test.js from UglifyJs Unexpected token punc ?(?, expected punc ?:? [js/test.js:1374,5] 解决方案: 配置babel,把配置放到文件[.babelrc]中 { "presets": ["es2015"] }