在项目中借助MUI中的tab-top-webview-main.html的时候滑动条无法正常触发滑动,通过检查官方文档,发现这是JS组件,需要被初始化一下:
- 导入mui.js
- 调用官方提供的方式初始化:
//初始化scroll控件
mui('.mui-scroll-wrapper').scroll({
deceleration: 0.0005 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006
});
结果出现了“Uncaught TypeError: ‘caller‘, ‘callee‘, and ‘arguments‘ properties may not be accessed on strict mode”的问题:
意思就是说:mui.js中用到了‘caller’,‘callee’,and’arguments’,但是webpack打包好的bundle.js中默认是启用严格模式的,所以这两者冲突了;
解决方案:
1.把mui.js中的非严格模式的代码改掉,但是不太可能
2.把webpack打包时候的严格模式禁用掉
使用babel-plugn-transform-remove-strict-mode
插件移除严格模式
- 使用命令
npm install babel-plugin-transform-remove-strict-mode
装包 - 使用:
1.如果使用的是Via .babelrc(推荐)
.babelrc:
{
"plugins": ["transform-remove-strict-mode"]
}
2.如果使用的是 Via CLI
$ babel --plugins transform-remove-strict-mode script.js
- 如果使用的是Via Node API
require("babel-core").transform("code", {
plugins: ["transform-remove-strict-mode"]
});