我正在构建一个逐步增强的React应用程序,它完全是服务器呈现的(现在没有JS包发送到浏览器),发送到浏览器,然后使用jQuery逐步增强,使用{插入到HTML中{1}} // ES6代码<script dangerouslySetInnerHtml= {{ __html:
。但是,Babel似乎忽略了这些脚本标签中的任何ES6,这是一个问题,因为我的应用程序必须支持一些不支持ES6的旧浏览器。
这是我正在做的一个例子:
}} />
class MyComponent extends Component {
const jsScript = `
// ES6 code like arrow functions, spread operator, destructuring etc
// It mainly uses jQuery to get the elements and work on them
`
render() {
return (
<div>
lots of content which will need progressive enhancement
<script dangerouslySetInnerHTML={{ __html: jsScript }} />
</div>
)
}
}
内的ES6作为ES6发送到浏览器,而不是转换为ES5,这适用于较新的浏览器,但在较旧的浏览器上失败。如何让Webpack / Babel进行转换呢?
此外,这只是一个原型 - 最终代码将以更加可靠的方式逐步增强,但现在这种方法有效。谢谢!