今天写了一个web项目,用chrome浏览器,手机端微信你打开都没问题,但是在pc端微信打开后是空白的,于是我重新做了一个空白的vue项目,用pc端微信浏览器是可以打开的。

慢慢调试发现是语法的问题

一步一步减去组件,再一步一步加上组件,最终定位到一个import的组件导致的。

原来是pc端微信浏览器不支持部分es6的语法,

es6语法主要用到()=>{}和let,但是使用这两个语法并不会导致这个问题,应该是其他原因导致的,懒得深入研究的语法或者新特性导致的

不使用()=>{}语法的话,this在function(){}中不能使用,所以要var _this = this然后在原来的()=>{}中使用_this代替this

经过深入研究,当时的pc浏览器的内核版本不支持es6语法,可以通过其他方式将含有es6语法的项目转为es5

1. 安装babel-polyfill:
npm install --save babel-polyfill

2.在main.js引入
import 'babel-polyfill'

3.在webpack.base.conf.js中配置:
module.exports = {
  context: path.resolve(__dirname, '../'),

  entry: {
    app: ['babel-polyfill','./src/main.js'] //===========这一行加入babel-polyfill
  }
  ...
  ...
  ...
}

Logo

前往低代码交流专区

更多推荐