How to develop npm module locally
Problem
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:
- Makes changes -> save -> npm install /path/to/module in MyApp
- 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.
Problem courtesy of: Oscar Godson
Related Articles
Solution
You're looking for the npm link
command, which is a two steps process:
- Run
npm link
from yourMyModule
directory: this will create a global package symlinked to theMyModule
directory - Run
npm link MyModule
from yourMyApp
directory: this will create aMyModule
folder innode_modules
, symlinked to the global symlink (and thus to the real location ofMyModule
).
Solution courtesy of: Paul Mougel
Discussion
View additional discussion.