NPM链接到Src Dir而不是Lib Dir

时间:2017-03-06 10:46:27

标签: javascript node.js npm symlink npm-link

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

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

1 个答案:

答案 0 :(得分:0)

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

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

现在无论你npm link library-module,你应该加载图书馆模块src/index.js

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