javascript - NPM 链接到 Src 目录而不是 Lib 目录

标签 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 目录?如果做不到这一点,是否有更好的方法来实现我想要的 - 查看链接模块代码的更新立即反射(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/

相关文章:

JavaScript:当元素在视口(viewport)中时使用 animate.css 添加类

javascript - 检测项目中的循环依赖

node.js - 在 node_modules 下的 package.json 中运行脚本?

linux - 使用 Node.js 的大量 Inode

Node.js 永远带有环境变量

node.js - 在 Node.js/NPM 中存档或备份 node_modules 文件夹的最佳方式

javascript - 为什么 this.selectedIndex 在 IE7 上不能用于 <select> 标签?

javascript - 为什么集合的键等于值?

javascript - 在 Chart.js 中实现悬停回调

node.js - 无法在 cygwin 上构建 Node.js