簡體   English   中英

在同一存儲庫中的多個項目/文件夾/應用之間共享代碼

[英]Share code between multiple projects/folders/apps within same repository

我有一個單一的倉庫,其中有多個文件夾中的多個項目或應用程序,每個都有自己的package.json文件和node_modules。 所有這些項目都有一個具有相同代碼的文件,並且在每個項目中都是多余的。 我想將其取出並使其可共享。 一種方法是使用npm軟件包。 在這里考慮其他方式。 請告訴我您是否有任何想法?

如果項目在相同的文件夾結構上運行,則可以簡單地將文件移動到共享父文件夾中,然后從那里要求它。 如果您有DevOps周期,則可以在構建步驟中將該文件復制到每個文件夾中。 GitLab CI使它非常容易,但是可以在Git中完成而無需花費很多精力。 但是,如果代碼庫不是專有的,則npm軟件包似乎是最長期穩定且方便的解決方案。

您可以為此單個文件創建一個外部模塊(將來可能會在項目之間共享更多文件)

  • 為此單個文件初始化一個新項目

mkdir my-external-lib ; cd my-external-lib npm init

您將需要編輯package.json

{
    "name": "my-external-lib",
    "version": "0.1.0",
    "description": "Library function to all my project",
    "main": "index.js",
    "private": true,
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
    },
    "repository": {
        "type": "git",
        "url": "<url-path-or-your-external-library>"
    },
    "keywords": [],
    "author": "<you>",
    "license": "ISC",
    "bugs": {},
    "homepage": "<url-path-or-your-external-library>#readme",
    "dependencies": {}
}

您不可以在github上公開您的項目

該解決方案的問題是,您需要rm -rf node_modules; npm i rm -rf node_modules; npm i每次您更新外部軟件包時。 我不知道為什么npm update無法正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM