写的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、选择构建工具并配置就完成了

相关推荐
YCY^v^2 分钟前
JeecgBoot 项目运行指南
java·学习
夏幻灵8 分钟前
HTML5里最常用的十大标签
前端·html·html5
人间打气筒(Ada)14 分钟前
jenkins基于Pipeline发布项目
java·pipeline·jenkins·流水线·ci·cd·cicd
爬山算法19 分钟前
Hibernate(88)如何在负载测试中使用Hibernate?
java·后端·hibernate
Mr Xu_22 分钟前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
自不量力的A同学23 分钟前
Solon AI v3.9 正式发布:全能 Skill 爆发
java·网络·人工智能
未来龙皇小蓝25 分钟前
RBAC前端架构-01:项目初始化
前端·架构
程序员agions34 分钟前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发34 分钟前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
独断万古他化38 分钟前
【Spring 原理】Bean 的作用域与生命周期
java·后端·spring