我是巴贝尔的新手。
我这样设置:
.babelrc:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="my-table">
<tr>
<th>
X
</th>
<th>Row Name</th>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Row 1</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Row 2</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Row 3</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Row 4</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>Row 5</td>
</tr>
</table>
<div id="dvCSV">
<button id="sort">Sort</button>
</div>
gulpfile:
{
"presets": ["es2015", "es2017"]
}
然而,这似乎是编译为es5,这在Safari中并不完全支持。
有没有办法设定目标?那么它可以编译成ES3吗?
答案 0 :(得分:6)
不,Babel不支持转发到ES3。
您的选择是:
编译为ES5,然后使用ES5 shim。
使用其他转换器。 Google Closure Compiler和TypeScript都支持ES6作为输入,ES3作为输出。
注意:&#34; ES5&#34; Babel生成的代码可能无法在所有浏览器中使用,因为它可能包含ES5中不存在的功能(有关详细信息,请参阅caveats)。换句话说,由于您甚至要定位旧版浏览器,因此您还需要Babel polyfill以及ES5垫片。