如何在Webpack中使用React将Typescript定向到ES5?
问题描述:
我们有一个用Typescript编写的React网络应用程序,它工作正常,并且在tsconfig.json
文件中以ES6为目标。如何在Webpack中使用React将Typescript定向到ES5?
现在我们想在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将Typescript中的ES5定位到它的工作?
附错误的截图:
答
答案是,你不能。
巴别可以将ES7转换为ES6。但它can't transpile ES6 to ES5,因为它使用了一个polyfill(在浏览器中加载的.js库)。
因此,由于无法从源代码获取ES5,因此无法使用Uglify。
你必须依靠单独的gzip(which is a substantial size decrease)。
你有JSX吗?没有看到这条线就很难说具体的东西。 –
什么是意外标记? –
我附上了错误的行。但我认为这不重要。一切都在ES6编译。那么为什么它会在ES5中失败呢? 'target'是我们要去**的版本,而不是来自**的源代码版本。没有? – Richard