写的webpack插件如何适配CommonJs项目和EsModule项目

1、源码用Esmodule

2、使用双模板导出

javascript 复制代码
{
  "name": "my-plugin",
  "main": "./dist/index.cjs",           // CommonJS项目的 入口
  "module": "./dist/index.mjs",         // ESmodule项目的 入口
  "exports": {
    "import": "./dist/index.mjs",       // ESM 
    "require": "./dist/index.cjs",      // CJS
    "default": "./dist/index.cjs"
  },
  "type": "module"                      
} 

main字段是CommonJs项目的入口

module字段是ESmodule项目的入口

ES中的import就会导入exports中的import的入口文件

CommonJs中的require就会导入exports中的require的入口文件

3、选择构建工具并配置就完成了

相关推荐
德思特40 分钟前
从 Dify 配置页理解 RAG 的重要参数
java·人工智能·llm·dify·rag
YOU OU1 小时前
Spring IoC&DI
java·数据库·spring
один but you1 小时前
从可变参数到 emplace:现代 C++ 性能优化的核心组合
java·开发语言
IT_陈寒1 小时前
Redis缓存击穿把我整不会了,原来还有这手操作
前端·人工智能·后端
idcu2 小时前
深入 Lyt.js 组件系统:L2 渲染引擎层的核心
前端·typescript
是码龙不是码农2 小时前
ThreadPoolExecutor 7 个核心参数详解
java·线程池·threadpool
这是程序猿2 小时前
Spring Boot自动配置详解
java·大数据·前端
文心快码BaiduComate2 小时前
干货|Comate Harness Engineering工程实践指南
前端·后端·程序员
还有多久拿退休金2 小时前
一张栈的图,治好你面试答不出 script 阻塞的病
前端·javascript
光辉GuangHui2 小时前
Agent Skill 也需要测试:如何搭建 Skill 评估框架
前端·后端·llm