最近在学习ES6,在B站上看了一些视频再结合阮一峰老师的《ES6标准入门》基本上对ES6的各特性过了一遍,那就开始动手练项目咯,在找到视频对应的代码后,下载并运行出现了几个问题,通过百度又没查到相关的解决思路,这不还得科学上网,毕竟你询问的人群是全世界,总有适合的哪一个。话不说,开始叙述问题,并一步步的解决问题。项目的源代码在我的github上:https://github.com/sun2013126370/es6-lottery-master,视频的话去B站找咯。
先说一下我的相关配置吧
nodejs版本: v10.13.0
npm版本:6.4.1
gulp版本:CLI version 3.9.1(全局安装-npm install -g gulp)
第一个问题: Failed to load external module @babel/register
网上说gulp的版本变成3.9.0(命令:npm install -g gulp@3.9.0)就可以,可以解决这个问题,但是至今还没找到出现这个问题的原因。还好,这个问题并不影响项目的运行,因此选择忽略这个错误或者将gulp的版本换成3.9.0都可以。
第二个问题:TypeError: require.extensions.hasOwnProperty is not a function
这个问题是由版本造成的,打开项目中的package.json,将0.3.1版本改成0.3.2即可,并执行npm install
命令。
重新执行gulp --watch
命令,又发现了如下错误,go on!
第三个问题:gulp[13772]: src\node_contextify.cc:628: Assertion `args[1]->IsString()’ failed.
具体什么原因,还没有搞明白,后续再补充。解决这个问题的办法就是npm install natives
,再次运行 gulp --watch
,OK啦,项目起来了。在浏览器输入localhost:3000,就看到效果了。那接下来就是敲敲项目代码,把出现问题的原因找出来。