core-js报错

报错一

Can't resolve 'E:\……\node_modules\core-js\modules\es.array.iterator.js'

原因:

core-js版本问题,下载最新版本core-js即可。

解决过程:

  • 1、查看node_modules下没有core-js,于是安装npm i core-js@2,还是报错!!
  • 2、再查看node_modules下的core-js,里面确实没有es.array.iterator.js。
  • 3、查看package-lock.json文件,里面引用的都是3以上的版本,比如 package-lock.json:
"dependencies": {
        "core-js": {
          "version": "3.5.0",
          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.5.0.tgz",
          "integrity": "sha512-Ifh3kj78gzQ7NAoJXeTu+XwzDld0QRIwjBLRqAMhuLhP3d2Av5wmgE9ycfnvK6NAEjTkQ1sDPeoEZAWO3Hx1Uw==",
          "dev": true
        }
      }
复制代码
  • 4、于是删掉node_modules下的core-js文件夹,重新执行命令npm i core-js,下载的版本还是2,还是报错。
  • 5、最后删掉package-lock.json和package.json里面两段使用core-js的配置: package-lock.json:
"core-js": {
      "version": "3.5.0",
      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.5.0.tgz",
      "integrity": "sha512-Ifh3kj78gzQ7NAoJXeTu+XwzDld0QRIwjBLRqAMhuLhP3d2Av5wmgE9ycfnvK6NAEjTkQ1sDPeoEZAWO3Hx1Uw=="
    },
复制代码

package.json:

"core-js": "^3.5.0",
复制代码

6、保存文件后重新执行npm i core-js,终于下载对了版本,终于有es.array.iterator.js文件不报错了。

报错二

Can't resolve 'core-js/modules/es.array.concat'

原因:

安装包漏了

解决过程:

  • 1、看了下package.json/package-lock.json都有core-js。
  • 2、但是node_modules文件夹下并没有core-js文件夹。
  • 3、也许是npm install的时候漏了吧,再次执行命令npm install --save core-js就OK了。

其他说明

之前一直搞不懂package.json/package-lock.json及其对第三方包的影响。

现在,还是搞不懂。

但是如果包的版本不对,咱们可以删了重新安装啊。

以往我都是删除package.json/package-lock.json配置,然后会出现各种奇奇怪怪的包版本不匹配的问题,实在不行我就强删node_modules文件夹里对应的包,再重新安装。

(其实是因为install默认是package.json里面配置的大版本下的最新版本)

但是!!!npm明明就有命令可以解决这些问题,根本不需要去改配置文件啊。

npm install <package_name>
npm uninstall <package_name>
复制代码

以上两条命令走天下啊,实在不行还有一条:

npm update -g <package_name>
复制代码

官方文档如下:

下载:docs.npmjs.com/downloading…

更新:docs.npmjs.com/updating-pa…

删除:docs.npmjs.com/uninstallin…

分类:
前端
标签: