monorepo模式下如何动态修改package.json中的module值
采用monorepo模式构建了一个组件库,整体工程运行正常,但是存在一个问题:
拿其中一个模块说明:
该模块的package.json配置如下:
{
"name": "@hecate/h-button",
"version": "1.0.0",
"license": "MIT",
"main": "dist/index.umd.js",
"module": "src/index.js",
"unpkg": "dist/index.min.js",
"scripts": {
"start": "yarn build",
"clean": "rimraf dist",
"lib": "yarn clean && cross-env NODE\_ENV=production rollup --config rollup.config.js",
"transpile": "vue-cli-service build --target lib ./src/index.js",
"dev": "yarn build"
}
}
问题出在**module**值的配置。我想将工程中各个包发布到npm,但是不想包含src中的源代码。那么我回将package.json修改为:
{
···
"main": "dist/index.umd.js",
"module": "dist/index.esm.js",
···
}
- 如果将"module"修改为"module": "dist/index.esm.js",每次修改和开发的时候,就需要手动运行一下命令进行重新编译。
- 如果将"module"修改为"module": "src/index.js",每次修改就不需要重新编译。但是,由于"module"指定了"src/index.js",就必须包含源代码。
我先在采取的办法是发布前手动修改这个值。但是模块越来越多,手动修改很麻烦。现在能想到的办法就是自己写脚本来修改,但是也不够自动化。
想问一下这个问题有么有什么比较好的、优雅一点的解决办法?### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
粘贴代码文本(请勿用截图)
你期待的结果是什么?实际看到的错误信息又是什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论