NPM 如何引入未发布的模块
NPM 如何引入未发布的模块??
比如我现在有个项目有 X,里面有引入了模块A,B,
本地开发了一个模块C,但是这个模块还没有发布到NPM上面,
现在想C代码修改后,不需要发布到NPM上面,X项目就可以用C模块的代码了,能够建立类似maven的私人仓库?
备注: C模块不在一台机器
14 回复
在 X 里运行:
npm install ../C
本地导入
require('../xx/c');
@xcatliu 这个目录在开发机上面!
@yuexing0921 把 C 模块 rsync 到 X 项目的机器上,然后 npm install ../C
@yuexing0921 非要建立私人 npm 的话,可以部署这个: https://github.com/cnpm/cnpmjs.org
直接目录安装就行了,和已发布没什么不同
谢谢各位,方案都很好
楼上的所有方案都不太好…
官方推荐的方案是 npm link
, 参见: https://docs.npmjs.com/cli/link
$ cd path/to/submodule
$ npm link
$ cd path/to/project
$ npm link submodule_pkg_name
npm link
的方式, 可以直接同步两边的修改, 实时.npm install ../path/to/module
的方案, 每次你更新那边的代码, 都需要重新安装一次- 发布到 npm 或私有 npm 这个, 那就不叫未发布模块了.
@atian25 非global也可以这样安装么?涨知识
@i5ting 嗯,这指令对写模块比较多的同学非常有帮助。
@atian25 如果这样,npm设计不够好啊,npm link 这个命令居然肩负了两个作用
谢谢各位了
涨知识了,这招很受用
source vue-cnode mobile 2.0