2020-01-13に更新

共通の設定をリポジトリ化する

Git

経緯

現在、私が運営しているサービスのうち、

野球スコア掲載プラットフォーム
みんなのSCORE
キャップ野球総合サイト
キャップ野球情報局

この2サービス、共通のアプリケーションサーバを持っていてUIが異なるだけなのです。

画像や設定など、2つのサイト(異なるリポジトリ)間で同じものを共有したい場合、
別のリポジトリからnpm installするのがよいようです。

実際に作ってみる

今回は試合のIDとyoutubeやtwitterのツイートを紐づけするconfigファイルを
共通リポジトリに置きます。

今回作ったリポジトリのindex.js

export { twMovieConfig } from './config/twMovieConfig';
export { youtubeConfig } from './config/youtubeConfig';

共有したいファイルをexportする。

package.json

{
  "name": "common",
  "version": "0.0.202001131200",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "description": ""
}

インポートする側のpackage.json

 {
    "dependencies": {
    ........
        "common": "https://github.com/ckoshien/common.git"
    }
  }

課題

  • 変更があった場合は毎回npmインストール
  • package-lock.jsonを削除しないとインストールできない
  • package.jsonのバージョンを上げないと変更があったと認識されない
ツイッターでシェア
みんなに共有、忘れないようにメモ

ckoshien

個人開発5年目。普段はアプリケーションエンジニア。 ReactJS/NodeJS/ReactNative/Java

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!
ボードとは?

関連記事

コメント