哦,好人

Yang的博客


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图

未命名

发表于 2020-03-06 | | 阅读次数:
字数统计: 578 | 阅读时长 ≈ 2

vue-jest-utils 报错:“Requires Babel “^7.0.0-0”, but was loaded with “6.26.3”.”解决思路

问题描述

使用vue-test-utils编写测试用例,运行npm run test是,报错:

Test suite failed to run
Requires Babel “^7.0.0-0”, but was loaded with “6.26.3”.

如图所示:

解决思路

  1. 升级Babel
  2. package.json 与 package-lock.json
  3. babel-regsiter 与 babel-core

具体步骤

Babel

Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行,如:

1
2
3
4
5
6
7
// 转码前
input.map(item => item + 1);
// 转码后
input.map(function (item) {
return item + 1;
});

运行 npx babel-upgrade 进行升级,依然有错误。仔细寻找后发现:

package.json 中的依赖 @babel/core版本号为7.8.0,而package-lock.json 中 bebel-regsiter的依赖babel-core 版本号为 6.26.3。与报错信息吻合,这就引出了两个问题:

  1. package.json 与 package-lock.json 是什么关系?
  2. babel-register 与 babel-core 具体是什么关系,是否可以升级babel-register?

package.json 与 package-lock.json

package.json

package.json是通过npm init创建时生成的,package.json文件中会记录项目中所需要的模块。记录的只是每个模块的基本信息。模块名称和大版本信息。

package-lock.json

在使用npm install的时候会自动生成一个package-lock.json的文件,package-lock.json文件则会记录每个模块的详细信息,如模块的具体版本号和各个模块所依赖的子模块的信息。

babel-register

这时候可能有一种猜测,babel-register的依赖版本可能有问题,那什么是babel-register?

一个使用 Babel 的方法是通过 require 钩子。

在package-lock.json里面寻找发现,既有@babel/register 的依赖(版本号:7.8.6),又有 babel-register 依赖(版本号:6.26.X)

是不是因为依赖重复了?

发现 vue-jest 有低版本的babel-core依赖,

1
2
npm install --save-dev vue-jest
npm install --save-dev babel-core@bridge // 重要

babel.conf.js

依然有错误,提示在/node_modules/vant/库中有问题。为什么只有vant库有问题呢?
这时候找到了babel.conf.js文件。

Babel.conf.js 是Babel7以上的配置文件,在配置文件中发现一个配置:

1
2
3
4
5
6
7
8
[
"import",
{
"libraryName": "vant",
"libraryDirectory": "es",
"style": true
}
],

原来在这里,注释掉之后,运行 npm run test

成功,大功告成。

LeetCode第六题——字符串的Z字型转化

发表于 2016-10-04 | 分类于 IT | | 阅读次数:
字数统计: 549 | 阅读时长 ≈ 2

再不刷几道算法题脑子一定是锈完了,废话不说,直接上题。

字符串"PAYPALISHIRING"以”zigzag”形式写出,如:

P A H N
A P L S I I G
Y I R

若一行一行读,则字符串变为:"PAHNAPLSIIGYIR"。

要求写一个给定字符串和指定行数的转换程序,例如:

convert("PAYPALISHIRING", 3)返回"PAHNAPLSIIGYIR"。

思路

意思比较容易理解,即将一个字符串以“Z”字型排布后,返回按行读取的字符串。

第一想法:建立一个二维数组strArray,用strArray[x][y]保存每一个字符,最后按照数组的路径读取。

草稿纸上写了伪代码就多的不要不要的,各种某个位置得挨个判断是否为空,于是换一种思路。

以输入"PAYPALISHIRING"为例,仔细观察形式,我们可以把每个元素按照下图所示分组:
test

阅读全文 »

剑指offer题目:用两个栈实现队列

发表于 2016-10-03 | 分类于 IT | | 阅读次数:
字数统计: 240 | 阅读时长 ≈ 1

国庆七天乐,刷个算法恢复一下“功力”。剑指Offer中遇到一题:

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

想想应该比较容易,两个栈实现队列,无非就是通过两个栈“倒腾”一下,实现先进先出的功能。

阅读全文 »

Effective Java笔记:当遇到多个构造器参数时,考虑用构建器

发表于 2016-05-15 | 分类于 IT | | 阅读次数:
字数统计: 738 | 阅读时长 ≈ 3

我们考虑一种情况,在一个类初始化时,我们要构造多个参数时,毫无疑问,我们可以这样做:

1
2
3
4
5
6
7
8
9
10
11
12
13
public class BuildPattern{
private int a;
private int b;
private int c;
private int d;
public BuildPattern(int a,int b,int c,int d){
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
}
阅读全文 »

当我们访问www.baidu.com的时候,会发生什么?

发表于 2016-04-12 | 分类于 IT | | 阅读次数:
字数统计: 1.3k | 阅读时长 ≈ 4

答:“如果打开了,就说明网好着呢”

以谷歌浏览器为例,在浏览器中输入“www.baidu.com”,按下回车。而“www.baidu.com”只是一个域名,我们得知道域名对应的地址才行。就像要去小明家,必须先知道小明家的地址才可以,所以就要进行第一个步骤:DNS lookup(DNS:Domain Name System)。

阅读全文 »

堆与栈的区别

发表于 2016-04-06 | 分类于 IT | | 阅读次数:
字数统计: 483 | 阅读时长 ≈ 1

应该算是比较经常会问到的面试题,我们需要从数据结构中的栈、数据结构中的堆、内存栈和内存堆四个方面来回答。

阅读全文 »

LeetCode第五题——求最大回文字符串

发表于 2016-04-04 | | 阅读次数:
字数统计: 646 | 阅读时长 ≈ 2

昨晚被某厂实习笔试算法题完虐,在有限时间内的算法编程简直渣到不行,本身不是很难的题竟然也没做出来。总结只有一点,代码量不够。还是得多多锻炼,提高快速编程的思维能力。

笔试题目的第一题就是LeetCode中的这道算法题,心里不由的碎碎念:要是勤快一点先做了,就会是另外一个情况了。

题目描述很简单:就是在一个字符串中寻找最长子回文字符串。

Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.

阅读全文 »

Leetcode 第三题 Longest Substring Without Repeating Characters

发表于 2016-03-23 | | 阅读次数:
字数统计: 388 | 阅读时长 ≈ 1

一直以来各种时间不够用,稍微一闲下来,立刻刷了一下第三题。

第三题 Longest Substring Without Repeating Characters,原题是这么说的:

Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for “abcabcbb” is “abc”, which the length is 3. For “bbbbb” the longest substring is “b”, with the length of 1.

也就是说,在不重复字符串的前提下,找到一个给定字符串的最长值。

拿到这道题,脑子里第一反应就是,只用遍历数组,不使用复杂数据类型的,应该是最快的,因为访问数组的下标比较快,只需要三次数组循环就可搞定。迅速开始构思,提交。

阅读全文 »

Leetcode 第二题 Add Two Numbers

发表于 2016-03-21 | | 阅读次数:
字数统计: 516 | 阅读时长 ≈ 2

今天还心心念念昨天的第一题,于是上来看看第二题是个什么情况。

第二题And Two Numbers:

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8

似乎很简单嘛,两个非负的单向链表,“in reverse order”是反向的意思,那我们就把第二组数反向,243 + 465 = 708 ,终于凑出了答案,不过这样也不难嘛。。

============【以上为大误】===========

阅读全文 »

Leetcode 第一题 Two Sum

发表于 2016-03-20 | | 阅读次数:
字数统计: 668 | 阅读时长 ≈ 3

今日发现一好玩的刷题网站leetcode。根据指定的编程语言,会选择生成相应的题目,将题目补充完整提交后,系统会给出检测报告。

第一题 “Two Sum”

原题为:

Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution.
Example:

1
2
3
4
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

The return format had been changed to zero-based indices. Please read the above updated description carefully.

阅读全文 »
123
Yang

Yang

23 日志
1 分类
21 标签
GitHub E-Mail Weibo Zhihu
Creative Commons
© 2020 Yang@CHD | Site words total count: 14.5k
由 Hexo 强力驱动
|
主题 — NexT.Gemini
0%