3

我一次处理几个 NPM 模块 - 有一个主模块可以导入其他三个模块。我曾经npm link将其他模块链接到主模块,但是我正在使用 Babel 编写所有模块来转译源代码。当我构建我运行的模块之一时,npm run build它运行编译并将模块src目录中的文件编译到其lib目录。但是,因为每个模块的 package.json 文件都指定了主文件位置,因为lib/index.js这意味着要使链接模块看起来更新到我的主模块,我总是需要构建它。

有没有办法(使用时npm link)让它链接到src目录而不是lib目录?如果做不到这一点,是否有更好的方法来实现我想要的 - 看到链接模块代码的更新立即反映在主模块中?

4

1 回答 1

3

1)解决此问题的一种简单方法是在开发时临时更改库模块中的入口点package.json

/* library-module/package.json */
{
  "main": "src/index.js",
  ...
}

现在无论你在哪里npm link library-module,你都应该加载库模块的src/index.js

2)或者,您可以设置一个监视任务以lib在检测到src. 这样,您的新更改将始终反映在您的消费模块中。

于 2017-12-13T21:42:12.820 回答