解决vue打包 npm run build-test突然不动了的问题


Posted in Javascript onNovember 13, 2020

今天遇到一件很奇葩的事情

输入npm run build-test 突然停在这不动了 what? 不动了?!

解决vue打包 npm run build-test突然不动了的问题

后来google了一下 大家都是人才

运行一下这句话 就动了!!

npm config set registry http://registry.cnpmjs.org

补充知识:vue_test_unit_e2e常见问题npm run unit单元测试和npm run e2e集成测试问题

vue项目要进行unit和e2e常见问题

localStorage is not available for opaque origins

console.error node_modules\vue\dist\vue.runtime.common.dev.js

通常根据vue init webpack myproject 生成的项目,选择了unit和e2e模块后,都会有些问题。

1.首先是unit,当我们运行npm run unit时,会出现以下问题:

SecurityError: localStorage is not available for opaque origins

因为说是jest运行是node环境,所以没有localStorage。

解决办法:

在项目内test/unit/jest.conf.js文件中

加入以下3句:即可

testEnvironment: 'jsdom',
 verbose: true,
 testURL: 'http://localhost'

2.然后,如果你也使用了elementui模块, 也会报错以下:

console.error node_modules\vue\dist\vue.runtime.common.dev.js:621

[Vue warn]: Unknown custom element: <el-table> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

因为说是elementui的组件没有注册。

解决办法:

修改项目里面test/unit/setup.js文件,内容为以下:

import Vue from 'vue'
// 将Vue暴露到全局里面
global.Vue = Vue;
console.log('--global:',global.hasOwnProperty('Vue'))
Vue.config.productionTip = false

// 使用elementui组件
import ElementUI from 'element-ui';
// npm run unit 时要下面引入样式那句注释掉-不知为什么导入会报错。可能因为测试时,不需要css样式
// import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

项目demo源码在这:https://github.com/banana618859/vue_test_unit_e2e

拷贝下来后,npm i 然后npm run unit 或 npm run e2e即可

解决vue打包 npm run build-test突然不动了的问题

提醒

因为$mount处理不了用户交互,所以我们要用到vue官方推荐的@vue/test-utils安装一下,就可以在项目中使用了。

npm i @vue/test-utils -D

使用:在项目里 test/unit/spec/HelloWorld.spec.js文件中,

import HelloWorld from '@/components/HelloWorld.vue'
import { mount } from '@vue/test-utils'
describe('测试用helloworld组件',() => {
 it('测试点击后,msg的改变',() => {
   //点击一下
   let wrapper = mount(HelloWorld) // 用@vue/test-utils的mount加载组件
   wrapper.vm.newData = 1;
   wrapper.find('.btn').trigger('click') //触发按钮点击事件
   expect( wrapper.vm.msg ).toBe('test_if')
  })
})

以上这篇解决vue打包 npm run build-test突然不动了的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 继承详解(三)
Jul 13 Javascript
js获取光标位置和设置文本框光标位置示例代码
Jan 09 Javascript
jquery队列queue与原生模仿其实现方法分享
Mar 25 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
Jul 18 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
Oct 11 Javascript
JS去除iframe滚动条的方法
Apr 01 Javascript
详解JavaScript基于面向对象之创建对象(2)
Dec 10 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
vue根据值给予不同class的实例
Sep 29 Javascript
微信 jssdk 签名错误invalid signature的解决方法
Jan 14 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 #Javascript
解决vuex刷新数据消失问题
Nov 12 #Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 #Javascript
解决vuex改变了state的值,但是页面没有更新的问题
Nov 12 #Javascript
javascript实现搜索筛选功能实例代码
Nov 12 #Javascript
vue实现两个组件之间数据共享和修改操作
Nov 12 #Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 12 #Javascript
You might like
c#中的实现php中的preg_replace
2009/12/21 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
List the Codec Files on a Computer
2007/06/18 Javascript
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
javascript教程:关于if简写语句优化的方法
2014/05/17 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
用瀑布流的方式在网页上插入图片的简单实现方法
2016/09/23 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
如何利用JavaScript编写更好的条件语句详解
2020/08/10 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
python安装与使用redis的方法
2016/04/19 Python
Atom的python插件和常用插件说明
2018/07/08 Python
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
美国折衷生活方式品牌:Robert Graham
2018/07/13 全球购物
个人担保书格式范文
2014/05/12 职场文书
新店开张活动方案
2014/08/24 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
初中政治教师教学反思
2016/02/23 职场文书
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS