Oscar Godson
Oscar Godson

Reputation: 32776

How to develop npm module locally

Lets say im working on an app, MyApp, and I want to build an NPM module for it, MyModule. Right now I can think of two ways to develop it:

  1. Makes changes -> save -> npm install /path/to/module in MyApp
  2. Same as 1, except run npm install /path/to/module then editing it directly in node_modules then copying the changes over.

What I'd like is an easier workflow. One where I can simply save the file, refresh the page, and my changes are there. Is that possible? For example, I know in Gemfiles I can just link to another directory as the path. Pretty sure I can't do that with npm tho.

Upvotes: 43

Views: 17514

Answers (2)

Paul Mougel
Paul Mougel

Reputation: 17048

You're looking for the npm link command, which is a two steps process:

  1. Run npm link from your MyModule directory: this will create a global package symlinked to the MyModule directory
  2. Run npm link MyModule from your MyApp directory: this will create a MyModule folder in node_modules, symlinked to the global symlink (and thus to the real location of MyModule).

Upvotes: 55

Dana Woodman
Dana Woodman

Reputation: 4552

To add on to Paul's answer, you can also do a shortcut for the above by doing the following from within your MyApp directory:

npm link ../MyModule

Upvotes: 17

Related Questions