采用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",就必须包含源代码。
我先在采取的办法是发布前手动修改这个值。但是模块越来越多,手动修改很麻烦。现在能想到的办法就是自己写脚本来修改,但是也不够自动化。
想问一下这个问题有么有什么比较好的、优雅一点的解决办法?### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
粘贴代码文本(请勿用截图)