npm 链接,不链接 devDependencies



似乎当我运行npm link时,它将全局安装该项目,并且似乎用它安装了devDependencies

有没有办法在没有 devDependencies 的情况下运行 npm 链接,也许使用--only=production标志?

npm@4.x或更低

当您在other_module中运行npm link时,您将获得依赖项和 devDependencies 符号链接。

--production标志不会更改任何内容,但仍会创建指向整个目录的符号链接

npm@5.1.0

他们修好了!

如果删除node_modules然后执行npm link --only=production,它会在符号链接之前运行安装,因此确实排除了devDependencies文件夹。

这目前无法在npm link中实现。问题是,如果你只在该依赖项中安装 prod 依赖项,则可以链接它,但无法再在该依赖项上进行开发(因为缺少 devDependencies)。反之亦然:如果你安装了devDependencies,你就不能再链接了。

解决方案:一个名为 npm-local-development 的包 at https://github.com/marcj/npm-local-development

它基本上与npm link做同样的事情,但通过设置文件观察器并在后台自动同步文件更改来绕过devDependency 限制,不包括所有devDependencies/peerDependencies。

你安装 npm-local-development: npm
  1. i -g npm-local-development
  2. 在根包中创建名为.links.json的文件。
  3. 您将每个包名称及其本地相对文件夹路径写入其中,如下所示

    { "@shared/核心":"../../my-library-repo/packages/core" }

  4. 打开控制台并在该根包中运行npm-local-development。让它在后台运行。

免责声明:我是这个免费开源项目的作者。

我使用的一种解决方法是npm pack然后指向示例中的打包文件

最新更新