来自Git存储库子目录的`npm install`

时间:2019-04-08 15:24:48

标签: angular git npm npm-install angular-library

打招呼,​​我创建了一个角度库,并在gitlab中将其构建并推入了私有仓库中,现在我需要在另一个项目中使用它

所以我尝试使用package.json中的以下行导入它

.subscribe(...)

但这已下载了整个存储库,并将其放入包括“ dist”文件夹的node_modules中

我需要导入“ dist”文件夹的内容,而不是整个仓库,例如:

"my-core-lib": "git+ssh://git@gitlab.com:<username>/my-core-lib.git"

预先感谢

2 个答案:

答案 0 :(得分:1)

如果包源托管在 GitHub 上,您可以像这样使用 GitPkg

# using npm:
npm install https://gitpkg.now.sh/<user>/<project>/<subdir>?<commit-ish>
# using yarn:
yarn add https://gitpkg.now.sh/<user>/<project>/<subdir>?<commit-ish>

在他们的 site 中有一个很好的类似向导的表单,可以帮助构建 URL,以及安装它的命令。

答案 1 :(得分:0)

如果您构建一个自定义库,并且入口点不在其Git存储库的根目录中,那么您只需要执行一些安装后处理即可-将源移至正确的位置。

您也可以选择应用文件过滤器,以便npm仅从存储库中复制模块中所需的文件/目录。

编辑package.json并添加两行:filesscripts-> postinstall,以便文件看起来像这样:

{
  "name": "my-custom-angular",
  "version": "1.0.0",
  "main": "index.js",
  "files": ["dist"],
  "scripts": {
    "postinstall": "mv ./dist/* ./ && rmdir ./dist"
  }
}

GL!