如何在本地开发npm模块

Osc*_*son 23 javascript module node.js npm

让我说我正在开发一个应用程序,MyApp,我想为它构建一个NPM模块,MyModule.现在我可以想到两种方法来开发它:

  1. 在MyApp中进行更改 - >保存 - > npm install/path/to/module
  2. 与1相同,除了运行npm install/path/to/module,然后直接在node_modules中编辑它,然后复制更改.

我想要的是一个更简单的工作流程.一个我可以简单地保存文件,刷新页面,我的更改就在那里.那可能吗?例如,我知道在Gemfiles中我只能链接到另一个目录作为路径.很确定我不能用npm tho做到这一点.

Pau*_*gel 31

你正在寻找这个npm link命令,这是一个两步的过程:

  1. npm link从您的MyModule目录运行:这将创建一个符号链接到该MyModule目录的全局包
  2. npm link MyModule从您的MyApp目录运行:这将创建一个MyModule文件夹node_modules,符号链接到全局符号链接(因此到实际位置MyModule).

  • `npm ls --link` 可用于检查链接的依赖关系 (4认同)
  • 这将如何反映在package.json中,特别是关于模块版本,例如MyModule@1.2.6.例如,在微服务环境中,多个MyApps需要不同版本的MyModule.如果它们不能,MyModule中的更改总是直接影响所有MyApps - 这与所需的完全相反. (3认同)
  • `npm ls --global` 也很有用。它向我展示了指向包含“MyModule”包的目录的链接。 (2认同)

Dan*_*man 9

要添加到Paul的答案,您还可以通过在MyApp目录中执行以下操作来执行上述操作的快捷方式:

npm link ../MyModule
Run Code Online (Sandbox Code Playgroud)