今天开发的时候碰到了问题: 在html模板里面引入了jsbridge文件:
<script type="text/javascript" src="./static/jsbridge.js"></script>
结果在打包的时候报错:navigator is not defined
该文件内部有 var u = navigator.userAgent代码;
后续添加以下代码解决报错
var u = '';
if ('undefined' != typeof navigator) {
u = navigator.userAgent;
}
却发现打包出来的index.html文件引入变成了如下:
<script type="text/javascript" src="[object Object]"></script>
最后经排查发现webpack的html-loader将index.html文件也进行了处理,最后在该loader的配置中排除了index.html解决了问题
{
test: /\.html$/i,
loader: 'html-loader',
exclude: path.resolve(__dirname, '../index.html'),
options: {
minimize: false
}
}