我同时处理多个 NPM 模块 - 有一个主模块导入了另外三个模块。我已经使用 npm link
将其他模块链接到主模块,但是我正在使用 Babel 编写所有模块来转译源代码。当我构建其中一个模块时,我运行 npm run build
运行转译并将模块 src
目录中的文件编译到其 lib
目录.但是,因为每个模块的 package.json 文件都将主文件位置指定为 lib/index.js
这意味着要使链接模块显示为更新到我的主模块,我总是需要构建它。
有什么方法(使用 npm link
时)让它链接到 src
目录而不是 lib
目录?如果做不到这一点,是否有更好的方法来实现我想要的 - 查看链接模块代码的更新立即反射(reflect)在主模块中?
最佳答案
1) 解决这个问题的一个简单方法是在开发时临时更改库模块的 package.json
中的入口点:
/* library-module/package.json */
{
"main": "src/index.js",
...
}
现在无论你在哪里npm link library-module
,你都应该加载库模块的src/index.js
2) 或者,您可以设置监视任务以在检测到 src
中的更改后始终构建到 lib
。这样,您的新更改将始终反射(reflect)在您的消费模块中。
关于javascript - NPM 链接到 Src 目录而不是 Lib 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42623571/