CNode

NPM 如何引入未发布的模块

问答
Yyuexing0921发布于10 年前最后回复7 年前15 回复13828 浏览0 收藏

NPM 如何引入未发布的模块??

比如我现在有个项目有 X,里面有引入了模块A,B,

本地开发了一个模块C,但是这个模块还没有发布到NPM上面,

现在想C代码修改后,不需要发布到NPM上面,X项目就可以用C模块的代码了,能够建立类似maven的私人仓库?

备注: C模块不在一台机器

查看回复

回复 (15)

A
atian25#1·10 年前

楼上的所有方案都不太好....

官方推荐的方案是 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 这个, 那就不叫未发布模块了.
A
atian25#3·10 年前

@i5ting 嗯,这指令对写模块比较多的同学非常有帮助。

https://github.com/atian25/blog/issues/17

C
captainblue2013#4·10 年前
引用 atian25@i5ting 嗯,这指令对写模块比较多的同学非常有帮助。 https://github.com/atian25/blog/issues/17

@atian25 如果这样,npm设计不够好啊,npm link 这个命令居然肩负了两个作用

X
xcatliu#6·10 年前

在 X 里运行:

npm install ../C
N
nnliang#7·10 年前

本地导入

require('../xx/c');
Y
yuexing0921#8·10 年前
引用 xcatliu在 X 里运行:

@xcatliu 这个目录在开发机上面!

X
xcatliu#9·10 年前
引用 yuexing0921@xcatliu 这个目录在开发机上面!

@yuexing0921 把 C 模块 rsync 到 X 项目的机器上,然后 npm install ../C

X
xcatliu#10·10 年前
D
DevinXian#11·10 年前

直接目录安装就行了,和已发布没什么不同

Y
yuexing0921#12·10 年前

谢谢各位,方案都很好

Y
yuexing0921#14·9 年前

谢谢各位了

1
1340641314#15·9 年前

涨知识了,这招很受用

source vue-cnode mobile 2.0

参与回复
登录后即可参与回复。登录