2017-06-13 69 views
1

我有两个模块 - 我的主要项目和组件库 - 我想要到lib链接到主项目。两者都在使用webpack并作出反应。所以我做:包与故宫所链接不更新

在COMP-lib目录:

NPM链接

在项目目录:

NPM链接COMP-lib中

的包显示在node_modules文件夹中,但是当我在组件上工作时图书馆的变化并未体现在主项目中。我错过了什么?

我无法在Google上找到关于此问题的一些信息,并且npm link doc只是对此示例进行了说明:“现在,〜/ projects/node-redis的任何更改都会反映在〜/ projects/node- bloggy/node_modules /节点redis的/“。

+0

'NPM链接'会创建一个符号链接,所以它基本上是相同的文件夹。你是否确定在修改它之后重建你的comp-lib文件,因为package.json的'main'字段中指定的文件将被使用? – HiDeo

+0

是的,我重建它,输出是:根目录中的bundle.js。 package.json中的入口点是bundle.js。但是,也应该更新整个文件夹结构,对吧?如果我在组件文件夹中添加组件,我看不到它。 – SeBe

+0

呀应该,我不知道,如果它的工作原理相同的Windows上,但第一个命令创建您的COMP-lib文件夹一个符号链接到您的全局NPM文件夹('在/ usr/local/lib目录/例如node_modules')和第二个从此前的全局文件夹到'project-dir/node_modules/comp-lib'。也许你可以检查链接是否有效并指向正确的文件夹。 – HiDeo

回答

1

曾与配套联在一起的类似的问题 - npm link dep是捡了老版“出发”的。

运行所npm link(再次)在“出发”文件夹中解决了这个问题。理论上它应该只被调用一次,但由于某种原因它有时会失去同步。

因此,为了可靠地更新链接的项目,每次更改后执行这些步骤:

  1. 重建链接的项目
  2. 运行npm link
  3. 在主体项目运行npm link dep