【发布时间】:2021-06-02 01:12:27
【问题描述】:
我在使用 NPM 7 工作区和 Babel 时偶然发现了一个问题,我无法在开发过程中从 src/ 转到 import 而在生产过程中使用 dist/ 的最佳方法。
为我糟糕的解释道歉,我只是举个例子(为了简洁起见,这不包括配置文件等):
我的项目结构是这样的:
- /
- lambdas/lambda-a
- src/
- package.json
- packages/package-a
- src/
- package.json
- package.json
我在packages/package-a/package.json 中有我的main 字段,如下所示:
{
...
"main": "src/index.js",
...
}
这意味着我可以从packages/package-a 导入东西到lambdas/lambda-a/src/index.js 中就好了:
import { thing } from '<package-a>'
但是,通过将 main 字段指向 src/index.js,这将无法在生产中使用,如果我将 main 字段更改为 dist/index.js,我将无法再导入 lambdas/lambda-a在开发期间无需在每次更改后运行构建。
有人对此有解决方案吗?或者,更有可能的是,谁能指出我在哪里是布偶?
【问题讨论】:
-
我们遇到了同样的问题,但我还没有找到可行的解决方案。我听说的一个是将构建过程直接转储到根文件夹中——这看起来很糟糕。但是,据我所知,由于 NPM 如何解析这些路径,这是唯一的解决方案。
标签: javascript node.js npm babeljs