如果您确切知道您使用的是哪些功能,而旧版浏览器不支持,则可以选择加载“polyfills”文件。
为了达到这样的效果,首先需要为polyfills创建一个单独的包文件,如果浏览器不支持所需的功能,则必须加载它们。这最后一步需要你在你的html文件中有一些模板。
在你的WebPack条目:
polyfills: [
'babel-polyfill',
'whatwg-fetch'
]
在你的插件:
new HtmlWebpackPlugin({
template: './index.ejs',
filename: '../index.html',
inject: false
})
在你index.ejs文件:
<script>
var newBrowser = (
'fetch' in window &&
'Promise' in window &&
'assign' in Object &&
'keys' in Object
);
var scripts = [];
if (!newBrowser) {
scripts.push('<%=htmlWebpackPlugin.files.chunks.polyfills.entry%>');
}
scripts.push('<%=htmlWebpackPlugin.files.chunks.vendors.entry%>');
scripts.push('<%=htmlWebpackPlugin.files.chunks.app.entry%>');
scripts.forEach(function(src) {
var scriptEl = document.createElement('script');
scriptEl.src = src;
scriptEl.async = false;
document.head.appendChild(scriptEl);
});
</script>
我想是不支持浏览器,只是为了显示一条消息,我不支持它,我的问题是,我不知道我不支持它,因为我不能使用库,如modiernizr之前我的webpack加载 –