我的前端 Reactjs 應用程式存盤在一個存盤庫中。我的后端 Node.js 應用程式存盤在另一個存盤庫中。
兩者都使用了一些功能。應該在哪里存盤這些函式,以便兩個存盤庫都可以訪問它們?
uj5u.com熱心網友回復:
您可以創建一個庫來匯出您需要的所有函式,然后將其發布到 NPM 并將其添加到兩個專案的package.json. 使用 NPM,您也可以將您的包設定為私有,以防您不希望您的代碼/包公開可用。
起點是創建一個包含您需要的所有功能的目錄,將它們全部匯出到一個index.js,然后運行為您的新專案npm init創建一個package.json。將指導您命名和分配版本號,然后發布npm publish(您可能需要創建一個帳戶并npm login首先運行)。然后在您的前端和后端專案中,您npm install <your-package>就像任何其他 npm 包一樣。
您的專案目錄可能很簡單...
myFunctions.js
index.js
package.json
myFunctions.js:
export const functionA = () => {
return "a"
}
export const functionB = () => {
return "b"
}
index.js:
export * from './myFunctions.js'
package.json(可以使用以下方式創建npm init:
{
"name": "my-functions",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
然后在目錄中運行npm publish,并在您的其他專案中運行npm install my-functions.
最后,在您的其他專案中:
import { functionA } from 'my-functions';
// ...
functionA() // returns "a"
uj5u.com熱心網友回復:
為你的輔助函式創建一個單獨的 NPM 包當然是一個很好的解決方案,但我發現它們在不同的存盤庫中維護有些煩人。我傾向于嘗試避免它們。
您的應用程式中肯定有一些功能在前端和后端都有用途,但我鼓勵您仔細查看這些功能,看看該邏輯是否可以由其中一個(后端或前端)負責。
例如; 如果您有一個函式來決議日期并以非常特定的方式為您的應用設定格式,那么您可以將該函式單獨存在于后端并利用它將已經轉換的值傳回前端 - 避免維護負擔它在 2 個地方或在一個單獨的包中,然后需要在 2 個存盤庫中更新。
有時只是無法繞過它,但我發現在大多數情況下我可以相應地拆分它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/363258.html
