项目报错 SyntaxError: Unexpected token ‘??=‘ 和node-sass报python错误;nuxt、vue项目

前提:node14.21.3

项目报错 SyntaxError: Unexpected token '??=' 

1.仔细看错误代码位置,发现是在node_modules文件中(找来源)

2.node_modules文件报错Unexpected token '??=' 15:59:58

const list= obj[list] ??= []; ^^^

SyntaxError: Unexpected token '??=' at new Script (vm.js:102:7) at createScript (vm.js:262:10) at Object.runInThisContext (vm.js:310:10) at evalModule (node_modules\jiti\dist\jiti.js:1:247124) at jiti (node_modules\jiti\dist\jiti.js:1:245241) at node_modules\undici\lib\dispatcher\client.js:8:14 at evalModule (node_modules\jiti\dist\jiti.js:1:247313) at jiti (node_modules\jiti\dist\jiti.js:1:245241) at node_modules\undici\index.js:3:16 at evalModule (node_modules\jiti\dist\jiti.js:1:247313) 

问题:在网上搜索这个问题,发现是undici不兼容这个语法

过程:但是我的项目中package.json没有安装undici,全局搜索undici,在yarn.lock文件中发现是cheerio模块间接引入了undici

解决:降低cheerio版本,从1.0.0-rc.10降到1.0.0-rc.3;项目就没报错这个问题了

其他:后续还报错swiper页面路径引用问题,简单改下就好了

其他尝试:

1.node升级:node升级其他依赖会报错,行不通

2.安装Babel:没用

3.安装最新版本的cheerio也不行,要降低依赖(如上,有用,重要的是找来源,找到报错的依赖)

4.提高nuxt版本:不行

node-sass报python错误

原因:在网上搜索这个是因为node版本和node-sass版本不对应(找不到原因的时候我还去下载了python(哭))

之前:

    "node-sass": "^4.14.1",

    "sass-loader": "^7.3.1",

改成

     "node-sass": "^6.0.1",

    "sass-loader": "^10.1.1",

反思:

运行项目最痛苦的是同事电脑不报错,自己的报错(难受);遇到报错真的不能慌,得先找来源,这个问题花了我两天,不能盲目搜报错,要自己先看报错具体内容找位置,问题一个个解决,一般都是不能改node版本的,不然其他依赖会报错

你可能感兴趣的:(前端,javascript,开发语言)