Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発環境/本番環境を分けるシンプルな方法 with Ionic
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kgsi
May 20, 2018
Technology
0
980
開発環境/本番環境を分けるシンプルな方法 with Ionic
「Webのこれからを語ろう」Ionic Meetup Tokyo #4のLTで喋った、Ionicの開発環境を切り替える方法の資料です。
kgsi
May 20, 2018
Tweet
Share
More Decks by kgsi
See All by kgsi
Light My Fire/ハートに火をつけるコミュニティ
kgsi
1
180
コミュニティとおかねの話 / Community and Money
kgsi
0
170
イベント企画設計における「フロントエンド」な考え方とその魅力
kgsi
1
3.9k
フロントエンドにおける生成AIの現在とこれから
kgsi
3
890
副業デザイナーズで作るデザイン組織 / Design Teams as a Side Job Designer
kgsi
0
1.5k
ウェブフロントエンジニアから見る Flutter Webの 現在地点 / Flutter web as of now
kgsi
3
5.1k
品質向上を目指す開発組織のデザインレビュー / SmartHR
kgsi
4
3.5k
スクラムチームにおけるプロダクトデザイナーの役割・関わり方
kgsi
0
640
TypeScriptではじめるUIデザイン / UI design with TypeScript
kgsi
2
2.9k
Other Decks in Technology
See All in Technology
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
0
120
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
410
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
1
180
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
(金融庁共催)第4回金融データ活用チャレンジ勉強会資料
takumimukaiyama
0
110
入社1ヶ月でデータパイプライン講座を作った話
waiwai2111
1
220
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
380
開発メンバーが語るFindy Conferenceの裏側とこれから
sontixyou
2
580
しろおびセキュリティへ ようこそ
log0417
0
280
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
67k
Databricks Free Edition講座 データサイエンス編
taka_aki
0
290
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
2
320
Featured
See All Featured
Claude Code のすすめ
schroneko
67
210k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
97
Evolving SEO for Evolving Search Engines
ryanjones
0
120
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
290
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Curse of the Amulet
leimatthew05
1
8.1k
KATA
mclloyd
PRO
34
15k
Transcript
開発環境/ 本番環境を分ける シンプルな方法 with Ionic 「Web のこれからを語ろう」Ionic Meetup Tokyo #4
:LT @kgsi ( e-bird inc )
自己紹介 Shinichi Kogiso (@kgsi) 株式会社イー・バード所属、Ionic 歴は4 ヶ月 もともとデザイナー、今はエンジニア/ 主にフロントエンド担当 twitter:
https://twitter.com/kgsi qiita: https://qiita.com/kgsi
お題 Ionic の開発・本番環境って どう分けていますか?
環境ごとに分けたいもの 環境変数 Cloud サービスのエンドポイント Platform 用ファイル(Google-service.json とか) Cordova のCon g.xml
(重要) などなど..
課題 Ionic v3 では、environment の切り替えるコマンドが提供されていない (v4 はAngular CLI でできる?) Push
通知実装に必要なGoogleService-Info.plist ファイルは、引数を 渡すとかだけでは切り替えられない もちろん手動で上書きするなどで、簡単に環境を切り替える事はで きる。しかしいちいちコピーするのが面倒くさいし、ミスが起きや すい プロジェクトを開発と本番とで、分けて開発する状況でもない、そ んなの面倒くさい
面倒くさいので楽をしたい! プリミティブに開発したい
解決策 Ionic App Scripts
Ionic App Scripts とは https://github.com/ionic-team/ionic-app-scripts Ionic の標準Helper scripts package.json に書かれているが、ionic
serve | build など標準のコマ ンドもionic-app-scripts から実行している ionic_cleancss 、ionic_copy 、ionic_watch など、build やwatch 時に標 準設定をOverriding してくれるCon g 機能を標準で提供
作業の流れ 1. 本番/ 開発でフォルダ分けして、切り替えたいファイルを設置 2. ionic_copy を通して設定ファイルを作成、コピー元のディレクトリと 設定先のディレクトリを設定 3. ionic
serve | prepare | build などを実行する時に引数--prod , --dev を 渡して本番/ 開発を切り替える 4. Done
Directory example ROOT ├─ setting └─ dev ├─ environment.ts ├─
google-services.json └─ GoogleService-Info.plist └─ prod ├─ environment.ts ├─ google-services.json └─ GoogleService-Info.plist setting.copy.js
setting.copy.js const envDir = (process.env.IONIC_ENV == 'prod') ? 'prod' :
'dev'; module.exports = { copyFirebaseSetting: { src: [ `{{ROOT}}/setting/${envDir}/google-services.json`, `{{ROOT}}/setting/${envDir}/GoogleService-Info.plist` ], dest: '{{ROOT}}' }, copyEnvironment: { src: [`{{ROOT}}/setting/${envDir}/environment.ts`], dest: '{{SRC}}/environment' }, }
package.json (抜粋) "config": { "ionic_copy": "./config/setting.copy.js" } コマンド例 $ ionic
cordova build --prod
この実装の良いところ webpack.config を弄らなくて済む(個人的に重要) 公式で用意されているスクリプトしか使わないのでプリミティブに 実装できる やってることはただのコピーなので、内部的に処理をかき分ける必 要がない 複雑なテストを行う必要がない場合は非常に楽ちん
Ionic App Scripts で 快適な開発環境ライフを! © 2018 kgsi