我们有一个用Typescript编写的React Web应用程序可以很好地工作,并且在 tsconfig.json
文件中以ES6为目标 .
现在我们想在编译部署到 生产环境 后用Uglifyjs缩小它 . 这失败了,因为Uglify只支持ES5(即使是#harmony分支,我已经尝试过了) .
所以我需要webpack输出为ES5 . 但是当我在我们的tsconfig文件中设置 "target": "es5"
时,webpack编译失败了: Unexpected token (164:41) You may need an appropriate loader to handle this file type.
我们如何使用React将Types中的ES5作为目标?
附上错误的屏幕截图:
1 回答
答案是,你做不到 .
Babel可以将ES7转换为ES6 . 但它can't transpile ES6 to ES5,因为它使用了polyfill(浏览器中加载的.js库) .
因此,因为您无法从源代码中获取ES5,所以您无法使用Uglify .
你将不得不单独依赖gzipping(which is a substantial size decrease) .