Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
開発環境/本番環境を分けるシンプルな方法 with Ionic
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
こぎそ / Shinichi Kogiso
May 20, 2018
Technology
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開発環境/本番環境を分けるシンプルな方法 with Ionic
「Webのこれからを語ろう」Ionic Meetup Tokyo #4のLTで喋った、Ionicの開発環境を切り替える方法の資料です。
こぎそ / Shinichi Kogiso
May 20, 2018
More Decks by こぎそ / Shinichi Kogiso
See All by こぎそ / Shinichi Kogiso
ひとりで作れる時代に、 判断をみんなで持つには。/ Build alone share judgment
kgsi
1
740
ひとりで作れる時代に、判断をみんなで持つには
kgsi
1
110
このスロップ時代に良きデザインをつくるには? / good-design-in-the-slop-era
kgsi
1
1.2k
デザインハーネス 〜AIが生成する"デザイン"の妥当性を、誰がどう担保するのか〜 / PdEConf2026 Design Harness
kgsi
14
23k
AIエージェントにおけるSkillの今 / Skills in AI Agents Today
kgsi
0
250
再設計される業務 - AIにより再設計される "デザインワークフロー" / AI Ops Lab #2 Redesigned orkflows
kgsi
0
960
Light My Fire/ハートに火をつけるコミュニティ
kgsi
1
250
コミュニティとおかねの話 / Community and Money
kgsi
0
260
イベント企画設計における「フロントエンド」な考え方とその魅力
kgsi
1
4.1k
Other Decks in Technology
See All in Technology
AIで選択肢が広がった組織設計の理想と現実
konifar
14
6.2k
「作れる」と「リリースできる」の間にあったもの── PdMを外して見えた、PdMがやるべき仕事/Buildable ≠ Shippable: What Removing the PM Taught Me About the PM’s Job
yappli_developers
0
300
自宅サーバと脆弱性
masakiokuda
1
120
企画を Software Factory-ready にする——開発が高速になったとき、PdMの仕事はどう変わったか
yachibit
1
280
ポケモン対戦を自動で記録して振り返ろう
fufufukakaka
0
410
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
2
580
E2Eってつらくないですか?E2Eの管理コストを下げる手段とその実践
akaboshinit
4
1.7k
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
260
VLA-JEPA: Enhancing Vision-Language-Action Models with Latent World Models
takmin
0
340
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
110
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
220
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
170
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Odyssey Design
rkendrick25
PRO
2
890
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Building AI with AI
inesmontani
PRO
1
1.3k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Utilizing Notion as your number one productivity tool
mfonobong
4
630
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
370
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
800
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Amusing Abliteration
ianozsvald
1
360
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