小梅梅的二狗子 小梅梅的二狗子
首页
  • fileReader
  • canvas
  • 【css世界】学习笔记
  • Vue

    • vue cli2 升级vue cli3 采坑记录
    • vue-cli3 项目 token.type.endsWith is not a function 生产事故分析
    • 使用vuepress 搭建团队文档
  • node

    • nodjs 爬取喜欢的的背景图片
    • 使用 puppeteer + nodejs 爬取喜欢的动漫资源
    • puppeteer爬取aspx网站
  • jenkins

    • Jenkins 从安装到自动部署h5
    • vue自动部署项目到服务器
    • jenkins自动打包前端代码并发布到测试或者生产
  • Vscode

    • Visual Studio Code 入门简介 常用插件介绍
    • vscode prettier eslint 插件格式化不生效的问题
  • 其他的

    • 声卡问题
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

qinyuanqi

搬砖使我变强!冲!!!
首页
  • fileReader
  • canvas
  • 【css世界】学习笔记
  • Vue

    • vue cli2 升级vue cli3 采坑记录
    • vue-cli3 项目 token.type.endsWith is not a function 生产事故分析
    • 使用vuepress 搭建团队文档
  • node

    • nodjs 爬取喜欢的的背景图片
    • 使用 puppeteer + nodejs 爬取喜欢的动漫资源
    • puppeteer爬取aspx网站
  • jenkins

    • Jenkins 从安装到自动部署h5
    • vue自动部署项目到服务器
    • jenkins自动打包前端代码并发布到测试或者生产
  • Vscode

    • Visual Studio Code 入门简介 常用插件介绍
    • vscode prettier eslint 插件格式化不生效的问题
  • 其他的

    • 声卡问题
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前端基础

  • 日常采坑

  • 前端框架

    • Vue

      • VueCli

        • vue cli2 升级vue cli3 采坑记录
        • vue-cli3 项目 token.type.endsWith is not a function 生产事故分析
          • 事故描述
          • 事故造成的影响
          • 事故原因分析
            • 为什么生产环境引入这个包:@vue/cli-plugin-eslint
            • token.type.endsWith is not a function报错的原因是
            • token.type.endsWith is not a function解决方案
            • babel-eslint 变成8.2.2版本
            • 升级 eslint-plugin-vue 到 8.3.0
            • 如何重现这个bug?
            • 项目背景
          • 事故解决方案
          • 引申问题
          • 结束语
          • 参考资料
        • 若依3.8.5版本vue-cli升级到 5.0.8碰到的一些问题
      • VuePress

      • VueBase

    • node

    • Angular

    • backbone

    • requirejs

  • 部署相关

  • 微信

  • 网易

  • 浏览器

  • 七牛云

  • 前端
  • 前端框架
  • Vue
  • VueCli
qinyuanqi
2023-04-25
目录

vue-cli3 项目 token.type.endsWith is not a function 生产事故分析

# 事故描述

一图解千愁 事故图片

# 事故造成的影响

生产环境某些页面打不开,控制台报错,错误信息 token.type.endsWith is not a function 事故图

# 事故原因分析

  • 为什么生产环境引入这个包:@vue/cli-plugin-eslint?
  • token.type.endsWith is not a function报错的原因是?

# 为什么生产环境引入这个包:@vue/cli-plugin-eslint

  • 因为我们项目的 lintOnSave 的配置默认就是true, 官网也说了, 如果是true的话, 会导致生产也会被启用 lintonSave

当前我的项目的配置又刚好是把lintOnSave给开出来了!!!!

# token.type.endsWith is not a function报错的原因是

  • 谷歌把我指引到了 eslint-plugin-vue 的官方issues,官方的大佬说,这个问题是babel-eslint的问题!!! eslint-plugin-vue 示例图 eslint-plugin-vue 示例图

# token.type.endsWith is not a function解决方案

# babel-eslint 变成8.2.2版本

降级babel-eslint,官方babel-eslint 8.2.2 版本之后就修复了, 但是我项目的babel-eslint的版本是10.0.1啊,为啥还会有问题,想不通,网上也碰到很多人说10.0.1的有一堆问题,反正降级到8.2.2就好了

  • babel-eslint 升级到8.2.2
  npm install -D babel-eslint@8.2.2
1

# 升级 eslint-plugin-vue 到 8.3.0
  npm install -D eslint-plugin-vue@8.3.0
1

eslint-plugin-vue示例图

# 如何重现这个bug?

# 项目背景

  • 基于若依前后端分离模板里面拷贝出来的项目

概率性,我发现使用npm install 比较容易出现这个问题,我的重现步骤是

  • 1 vue.config.js lintOnSave 变成true
  • 2 当前项目的一些依赖,主要就是babel-eslint 10.0.1 在window不同电脑里面,有的电脑,同样的版本就是报错!! 当前项目的配置
  • 3 启动服务,报错信息如下 报错信息
  • 4 打包项目,控制台会报token.type.endsWith is not a function,但是打包成功,出现这种情况,如果你不注意,就把包打上去,恭喜你,领取生产bug福利 报错信息
  • 5 有错误的包,直接丢生产:页面打不开,控制台报错,一脸懵逼的福利😄😄😄 报错信息

# 事故解决方案

  • vue.config.js 生产环境把lintOnSave 关掉,就算babel-eslint 报错, 也不会导致页面开不出来

  • 降低babel-eslint版本,杜绝出现这种问题,

# 引申问题

  • 为啥同样的包,不同window电脑,就会报错?

# 结束语

  • 本文如有错误,欢迎指正,非常感谢
  • 觉得有用的老铁,点个双击,小红心走一波
  • 欢迎灌水,来呀,互相伤害哈 o(∩_∩)o 哈哈

# 参考资料

  • TypeError: token.type.endsWith is not a function vue eslint 问题解决 (opens new window)
  • vue项目所有vue引用报token.type.endsWith is not a function错误 (opens new window)
  • eslint-plugin-vue/issues (opens new window)
上次更新: 2023/12/18, 15:00:26
vue cli2 升级vue cli3 采坑记录
若依3.8.5版本vue-cli升级到 5.0.8碰到的一些问题

← vue cli2 升级vue cli3 采坑记录 若依3.8.5版本vue-cli升级到 5.0.8碰到的一些问题→

最近更新
01
若依3.8.5版本vue-cli升级到 5.0.8碰到的一些问题
10-08
02
vuepress添加sitemap
05-17
03
vscode Live Server 插件使用教程
05-16
更多文章>
Theme by Vdoing | Copyright © 2019-2023 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式