vue-cli 老项目升级依赖心得 node-sass 问题的处理

问题

  • 老项目只能用 node8 来启动,而且安装依赖的时候还跟 python 版本有关系,查了查是 node-sass 这个依赖包的问题

解决

  • 首先我卸载了node-sass,替换成 sass

  • 然后尝试 sass-loader 版本的配置,改成 "sass-loader": "^7.3.1", 了,这个版本要和你当前的 "webpack": "4.16.5", 版本兼容,我刚开始安装的是 sass-loader8,往下降级试了试,7是可以的

  • 然后就是全文替换 /deep/::v-deep,我拿其中一个来举例子

    bash 复制代码
    npm uninstall node-sass
    
    npm install sass-loader@7 --save-dev

(node:46563) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.

当我从 node 12 切换到 node20时 又报错了

javascript 复制代码
(node:46563) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:46563) [DEP0111] DeprecationWarning: Access to process.binding('http_parser') is deprecated.
 10% building modules 1/2 modules 1 active .../node_modules/webpack/hot/dev-server.jsnode:internal/crypto/hash:79
  this[kHandle] = new _Hash(algorithm, xofLen, algorithmId, getHashCache());

应该是 webpack 太老了

相关推荐
yezipi耶不耶2 小时前
用 Rust 带你了解 TCP 和 UDP
tcp/ip·rust·udp
BillKu5 小时前
Vue3 Element Plus 对话框加载实现
javascript·vue.js·elementui
运维@小兵6 小时前
vue配置子路由,实现点击左侧菜单,内容区域显示不同的内容
前端·javascript·vue.js
勇敢牛牛_8 小时前
使用Rust开发的智能助手系统,支持多模型、知识库和MCP
ai·rust·rag·mcp
岁岁岁平安9 小时前
Vue3学习(组合式API——Watch侦听器、watchEffect()详解)
前端·javascript·vue.js·学习·watch侦听器·组合式api
码视野9 小时前
基于Spring Boot和Vue的在线考试系统架构设计与实现(源码+论文+部署讲解等)
vue.js·spring boot·系统架构
2501_9153738810 小时前
Vue路由深度解析:Vue Router与导航守卫
前端·javascript·vue.js
LuckyLay12 小时前
Vue百日学习计划Day16-18天详细计划-Gemini版
前端·vue.js·学习
想要飞翔的pig12 小时前
uniapp+vue3页面滚动加载数据
前端·vue.js·uni-app