npm link只链接dist文件夹。

22

有没有一种方法可以限制npm link只创建符号链接来指向./dist?

我目前正在努力,因为我想在发布之前在本地测试我的库(React组件)。

在我的package.json中,我已经包含了主要的入口点:

"main": "./dist/index.js"

但是,当我运行npm link时,它仍会链接到具有node_modules等的父文件夹。 这导致问题,因为现在我安装了2个React应用程序。

我考虑过排除node_modules 的方法,但我甚至找不到一种方法来做到这一点。

2个回答

12

这其实比预期的要简单。首先运行ng build来构建你的库项目,然后进入dist文件夹并从那里运行npm link而不是从库根项目中运行。符号链接将被创建指向dist文件夹。


3
这是一个优美的解决方案,而你也是一位优美的人。这让我的一天变得美好 :) - Alex Willenbrink
10
不起作用...它链接的是父文件夹。 - Petr Schukin
1
对我也不起作用 :( - Jonathan Laliberte
1
这里不起作用。仍然将一切联系在一起。 - undefined

-2

使用“main”参数没有意义,因为npm link使用“npm prefix”来创建符号链接请参见此处

您可以使用以下方法:

  1. 进入项目目录
  2. 将package中的package.json复制到./dist/package.json目录中
  3. 进入dist目录
  4. 运行“npm link”

看起来有点不太好,但似乎是使用npm link的唯一方法


嗯,是的,我不想走那条路:D 谢谢你。 - Ali Elkhateeb
如果您可以使用其他工具,那么可以尝试使用lerna link。您需要在package.json(根级别)中添加以下行:"publishConfig": { "directory": "dist" } - name212
除了“看起来很脏”,它在除了最基本的项目之外无法工作。例如,任何相对导入路径都会崩溃。 - Zane Claes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接