问题描述

在构建一个mpvue项目的完毕之后,并且把依赖包都下载完成之后需要npm run dev运行项目,但是问题来了,既然卡死不动了。问题出现在mpvue小程序开发中。

场景复现

$ npm run dev> mytools@1.0.0 dev O:\newproject\mytools
> node build/dev-server.js wx

到了这里就卡死不动了, ctrl+c强制停掉,在反复重启。哎多次重试之后又好了。下一在重新跑又不行,等了十来分钟还是卡死在这。没办法只能解决了。

思路

既然是nodejs的产物那么直接看他干嘛了,在哪里卡死了

  • 找到指令 npm run dev的根源
  • package.json文件中的指令
  • “dev”: “node build/dev-server.js wx”,
  • npm也就是执行了这条指令
  • 开始用nodejs运行, 打断点
  • 不归路开始…

原因

最后发现开始在了build文件夹下的check-versions.js, 来看下这个文件的源码

var chalk = require('chalk')
var semver = require('semver')
var packageConfig = require('../package.json')
var shell = require('shelljs')
function exec (cmd) {return require('child_process').execSync(cmd).toString().trim()
}var versionRequirements = [{name: 'node',currentVersion: semver.clean(process.version),versionRequirement: packageConfig.engines.node}
]if (shell.which('npm')) {versionRequirements.push({name: 'npm',currentVersion: exec('npm --version'),versionRequirement: packageConfig.engines.npm})
}module.exports = function () {var warnings = []for (var i = 0; i < versionRequirements.length; i++) {var mod = versionRequirements[i]if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {warnings.push(mod.name + ': ' +chalk.red(mod.currentVersion) + ' should be ' +chalk.green(mod.versionRequirement))}}if (warnings.length) {console.log('')console.log(chalk.yellow('To use this template, you must update following to modules:'))console.log()for (var i = 0; i < warnings.length; i++) {var warning = warnings[i]console.log('  ' + warning)}console.log()process.exit(1)}
}

卡在了这个函数这里

function exec (cmd) {**return require('child_process').execSync(cmd).toString().trim()**
}

解决

这个是校验版本信息, 解决办法有两种。

  1. 一种是直接屏蔽掉,不管那么多我不需要校验版本, 听老夫的一把屏掉
  2. 第二种就是把npm改成node,代码如下
  3. 把npm–version修改成node–version
var versionRequirements = [{name: 'node',currentVersion: semver.clean(process.version),versionRequirement: packageConfig.engines.node}
]if (shell.which('node')) {versionRequirements.push({name: 'node',currentVersion: exec('node--version'),versionRequirement: packageConfig.engines.npm})
}

重新运行 npm run dev
ojbk,解决问题

结束

入坑需谨慎!最后友情链接有我的博客和github地址,欢迎相互沟通学习!

想一起讨论/学习微信小游戏开发的,GO语言开发的,请微信搜索下方小程序加博主微信群

mpvue入坑之npm run dev卡住相关推荐

  1. npm run dev卡住

    问题: npm run dev卡死不动,不报错,找半天也没有找到bug. 情况: 网上翻了一圈,有说运行到一半强行关机的导致编译程序进行到一半出错,但本人并没有出现这样的操作,电脑重启也不能解决问题. ...

  2. mpvue入坑之APP.vue不同之处

    小程序开发 目前的前端行业小程序开发真的是一发不可收拾了,我也加入了这股入坑潮流.下面我来说说我经验吧 一.原生wx框架和mpvue 我告诉你,如果你会原生的wx框架最好用wx原生的框架, mpvue ...

  3. vue项目工程中npm run dev 到底做了什么

    npm install 安装了webpack框架中package.json中所需要的依赖 2.安装完成之后,需要启动整个项目运行,npm run 其实执行了package.json中的script脚本 ...

  4. 使用vue-cli初始化项目时运行‘npm run dev’报错

    npm run dev 无法启动 0 info it worked if it ends with ok 1 verbose cli [ 1 verbose cli 'D:\\Program File ...

  5. npm run dev时报错code ELIFECYCLE npm ERR! errno 1 npm ERR!

    npm run dev时报错 跳过的坑: 1.有的说是8080端口被占用了 发现并不是 2.把node_modules和package-json删除之后再npm install 并没有用!! 3.说w ...

  6. vue打包慢解决方法 npm run build 卡住不动

    起因:最近开发个项目使用的vue,有些功能需要生产版本放服务器上测试,这就出问题了..卡住了,不动了,还不报错 这是在vscode的终端里面,试了git hash,试了cmd , 试了powershe ...

  7. nvm安装node后npm run dev一直报node不是内部或外部命令

    nvm安装包下载地址https://github.com/coreybutler/nvm-windows/releases 找到nvm-setup.zip,解压安装即可 如果打不开,也可以在这里下载 ...

  8. npm run dev 报错:missing script:dev

    错误描述 运行 npm run dev 报错 missing script:dev 原因 查看package.json发现script中并没有dev而是serve.. 所以运行 npm run ser ...

  9. 设置vue运行npm run dev时候,项目在浏览器自动打开页面的方法

    在config/index.js找到dev:{}里面的autoOpenBrowser: 设置为true,重新npm run dev一次就自动弹出浏览器页面啦!

最新文章

  1. linux创建启动连接数据库,DB2入门(1)--安装、启动、连接
  2. 一文详解随机一致性采样算法:RANSAC
  3. mysql中对比月_详解Mysql中日期比较大小的方法
  4. java fastdfs 压测_利用jmeter+JAVA对RPC的单接口(dubbo接口等)进行性能测试,零基础(2)...
  5. thinkphp5连接数据库mysql_ThinkPHP学习(三)配置PHP5支持MySQL,连接MySQL数据库
  6. btoa java,JavaScript用btoa和atob来编码解码Base64
  7. Spring整合Struts2的两种方式
  8. 内容范围:正态分布,泊松分布,多项分布,二项分布,伯努利分布
  9. 定义struct出错指针不允许指向不完整类型_Go入门系列(三)复合数据类型
  10. js 生成二维码 vue项目
  11. 计算机配色故障,计算机配色模型中存在的限制点
  12. syntax sugar 2
  13. 宝可梦 序列号认证服务器发生了错误,宝可梦探险寻宝无法连接服务器是什么原因...
  14. Photoshop脚本 镜头光晕滤镜的使用
  15. python做卡牌游戏_python实现机器人卡牌
  16. Codeforces 1146G Zoning Restrictions dp
  17. js 获取当前日期,计算往后三个月的日期
  18. Jinja2渲染的两种方式
  19. 一、微服务基本介绍-背景(基于电商项目)
  20. python两列时间间隔计算器,Python“距离/时间/燃油计算器”帮助2

热门文章

  1. linux删除物理卷命令,使用vgreduce命令从LVM中的卷组中删除物理卷
  2. 华为OD机试 - 最多等和不相交连续子序列(Python)| 解题思路+核心知识点
  3. C++实现grpc异步服务器
  4. 如何删除win7里很多的microsoft 6to4 adapter
  5. throw、throws处理异常的常用方法
  6. JAVA中冒号和问号的顺序_c语言问号冒号的用法
  7. 云计算2020,百度智能云加速推进AI与产业深度融合
  8. Nessus官网资料
  9. 百度大脑车牌识别使用攻略
  10. ESD门禁闸机管理系统如何适应不同场景及需求