为了账号安全,请及时绑定邮箱和手机立即绑定

如何将本地模块指定为npm包依赖项

如何将本地模块指定为npm包依赖项

湖上湖 2019-09-20 15:39:19
我有一个应用程序,它对依赖项下的package.json文件中指定的第三方模块(例如'express')具有通常的依赖关系。例如"express"     : "3.1.1"我想模块化地构建我自己的代码,并且有一组本地(意思是我当前在文件系统上)的模块由package.json安装。我知道我可以通过运行来安装本地模块:npm install path/to/mymodule但是,我不知道如何通过package.json依赖项结构实现这一点。使用--save此命令中的选项只是放入"mymodule": "0.0.0"我的package.json(不引用文件路径位置)。如果我然后从node_modules中删除已安装的版本,并尝试从package.json重新安装,它将失败(因为它在中央注册表中查找“mymodule”,并且看起来不是本地的)。我确信这是一种告诉"dependencies": {}结构我希望从文件系统路径安装它的方法,但不知道如何。还有其他人有这个问题吗?谢谢。
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

从NPM 2.0.0开始,本机支持导入本地依赖项。danilopopeye在回答类似问题时记录了这一点。我在这里复制了他的回复,以帮助任何需要找到正确答案的人,因为这个问题在Google的搜索结果中排名很高。


此功能是在npm的2.0.0版本中实现的。例如:


{

  "name": "baz",

  "dependencies": {

    "bar": "file:../foo/bar"

  }

}

以下任何路径也有效:


../foo/bar

~/foo/bar

./foo/bar

/foo/bar


查看完整回答
反对 回复 2019-09-20
?
慕沐林林

TA贡献2016条经验 获得超9个赞

我最终找不到一个简洁的方法,所以我去创建一个名为的目录local_modules,然后在脚本 - > preinstall中将这个bashscript添加到package.json中


#!/bin/sh

for i in $(find ./local_modules -type d -maxdepth 1) ; do

    packageJson="${i}/package.json"

    if [ -f "${packageJson}" ]; then

        echo "installing ${i}..."

        npm install "${i}"

    fi

done


查看完整回答
反对 回复 2019-09-20
  • 3 回答
  • 0 关注
  • 3907 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信