当前位置: 首页 > news >正文

IoTSharp前端VUE采用npm run build编译提示require() of ES Module 出错

IoTSharp前端代码在IoTSharp/ClientApp是采用VUE开发的代码,采用npm run build编译不通过,出现如下问题:

一、问题1:Error [ERR_REQUIRE_ESM]: require() of ES Module

IoTSharp前端代码ClientApp里用npm run build编译提示如下错语”The CJS build of Vite's Node API is deprecated. See https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details. failed to load config from E:\IOT\IoTSharp\IoTSharp\ClientApp\vite.config.ts error during build: Error [ERR_REQUIRE_ESM]: require() of ES Module E:\IOT\IoTSharp\IoTSharp\ClientApp\node_modules\@iconify\utils\node_modules\package-manager-detector\dist\detect.mjs not supported. Instead change the require of E:\IOT\IoTSharp\IoTSharp\ClientApp\node_modules\@iconify\utils\node_modules\package-manager-detector\dist\detect.mjs to a dynamic import() which is available in all CommonJS modules.

这个错误表明在构建过程中,Vite 无法正确加载一个 ES Module(.mjs 文件),因为使用了 require(),而 ES Modules 不支持通过 require() 加载。

Vite 的 CJS 构建已被弃用,建议迁移到 ECMAScript Modules (ESM)。以下是两种解决方案:

1)解决方案:在 package.json 中添加 "type": "module"

在项目的 package.json 文件中添加 "type": "module",这会告诉 Node.js 将 .js 文件作为 ESM 处理:

{"type": "module"
}

通过在 package.json 中添加 "type": "module" 或将 vite.config.ts 文件改名为 vite.config.mts,可以解决 Vite 的 CJS 构建弃用警告。通过动态导入 ES Modules、更新依赖项、清理和重新安装依赖、启用详细日志,通常可以解决 ERR_REQUIRE_ESM 错误。

二、问题2:vueSetupExtend is not a function

        vite:config bundled config file loaded in 959.98ms +0ms failed to load config from E:\IOT\IoTSharp\IoTSharp\ClientApp\vite.config.ts error during build: TypeError: vueSetupExtend is not a function。

根据你的问题和提供的搜索结果,以下是解决 TypeError: vueSetupExtend is not a function 错误的详细步骤:

1)解决方案: 安装vite-plugin-vue-setup-extend组件

错误信息表明 vueSetupExtend 被错误地导入或使用了。确保你正确导入了 vueSetupExtend 插件。根据搜索结果,vite-plugin-vue-setup-extend-plus 插件可能存在兼容性问题,建议使用 vite-plugin-vue-setup-extend

三、重新编译问题解决

http://www.dtcms.com/a/613377.html

相关文章:

  • 高级IO-poll
  • 在JavaScript中,JavaScript 对象和 JSON 字符串互相转换
  • css之弹性盒子属性2
  • [LivePortrait] docs | Gradio用户界面
  • 基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
  • 【三维编辑】DREAMCATALYST:平衡可编辑性和ID的快速高效3D编辑
  • SemanticVLA:面向高效机器人操作的语义对齐剪枝与增强方法
  • 晋城市住建设局网站茂名公司网站设计
  • 太原做响应式网站软件开发公司厂家有哪些
  • 40_FastMCP 2.x 中文文档之FastMCP客户端认证:OAuth 身份验证详解
  • 二、Rabbit MQ 高级
  • 66-69 原型对象,toString(),垃圾回收
  • Node 的版本管理工具 nvm 介绍
  • ubuntu24.04搭建GitLab服务器
  • 前端 vs 后端:入行软件行业,我该如何选择?哪个更“简单”?
  • 网站产品策划中国建设银行遵义市分行网站
  • 【自适应卡尔曼滤波】(EKF、UKF、CKF等可通用)的创新思路:哪些参数该使用自适应思想来调整、该怎么调
  • RHCSE--SELinux
  • 安装k8s过程中涉及知识点梳理
  • 公司网站建设费用如何做账英语可以做推广的亲子类网站
  • 【2025】Java 从入门到实战:核心特性全解析(方法、类与对象、多态三大特性及关键字thissuper)附带代码案例
  • FSMC-TFTLCD显示实验(1)
  • Node.js 实现 Stripe 支付的简单示例
  • Claude、Agent与Copilot协作生成Angular应用
  • 建行广东茂名茂南支行:积极走进会展商圈,助力金融赋能消费提振
  • LDO(Low Dropout Regulator)是什么?
  • 专门做win7系统的网站免费金融发布网站模板
  • 网络安全:SQL 注入:SQLmap
  • UI设计公司审美积累|APP界面从风格到功能的设计智慧
  • 分布式专题——57 如何保证MySQL数据库到ES的数据一致性