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
Scully: Angular SSG
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
puku0x
August 19, 2020
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scully: Angular SSG
puku0x
August 19, 2020
More Decks by puku0x
See All by puku0x
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
1.5k
Agent Skills 入門
puku0x
0
1.9k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
2.1k
生成AIではじめるテスト駆動開発
puku0x
0
1.4k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
2
3.3k
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
1.7k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
310
ファインディでのGitHub Actions活用事例
puku0x
9
3.9k
Findyの開発生産性向上への取り組み ~Findyフロントエンドの場合~
puku0x
0
490
Other Decks in Technology
See All in Technology
どうして今サーバーサイドKotlinを選択したのか
nealle
0
190
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
130
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
170
AI時代における最適なQA組織の作り方
ymty
3
350
10x Speed With QA Agent Platform - How we scaled adoption from individual effort to organizational capability
lycorptech_jp
PRO
0
120
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
290
そのタスクオンスケですか?
poropinai1966
0
120
HookでSAST、CIでSAST、SCAでどうにかしている話 / layered-security-for-ai-written-code-with-sast-and-sca
yamaguchitk333
0
100
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
410
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
350
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
250
Why is RC4 still being used?
tamaiyutaro
0
280
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
67k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
450
We Have a Design System, Now What?
morganepeng
55
8.2k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
What's in a price? How to price your products and services
michaelherold
247
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
180
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
Transcript
Scully: Angular SSG ng-japan OnAir #23
Noriyuki Shinpuku ng-fukuoka organizer VEGA corporation Co., Ltd. @puku0x 2
@puku0x SSG流行ってる 3 Gridsome VuePress Nuxt.js Next.js Gatsby
@puku0x (Angularで)SSGやりたみ... 4 Gridsome VuePress Nuxt.js Next.js Gatsby
@puku0x 5 https://scully.io/
@puku0x Scully • Angular用のSSG(静的サイトジェネレータ) • ところで何て発音するの? ◦ スクーリー、スクリー、スカリー (聞く限りではいろいろ) 6
@puku0x 仕組み • Angularアプリケーションを Puppeteer で実行 ◦ HttpClientなどの通信の完了を確認して出力 ◦ PLATFORM_IDは常にブラウザー
• 実行時はプリレンダされたHTML → 読み込み完了で Angularアプリケーションに置き換わる 7
$ ng new my-app --routing $ cd my-app $ ng
add @scullyio/init インストール 8
$ ng generate @scullyio/init:blog ブログ追加 9
$ ng build --prod $ npm run scully $ npm
run scully:serve Angular distribution server started on “http://localhost:1864/” Scully static server started on “http://localhost:1668/” 実行 10
$ npm run build -- --watch 開発 11 $ npm
run scully -- --watch
import { setPluginConfig } from '@scullyio/scully'; setPluginConfig('md', { enableSyntaxHighlighting: true
}); シンタックスハイライト 12
import { ScullyConfig } from '@scullyio/scully'; export const config: ScullyConfig
= { … defaultPostRenderers: ['seoHrefOptimise'], }; リンクに末尾スラッシュ追加 13
$ npm i -D scully-plugin-disable-angular $ ng build --prod --statsJson
Angular無効化 14 import { ScullyConfig, setPluginConfig } from '@scullyio/scully'; import { DisableAngular } from 'scully-plugin-disable-angular'; setPluginConfig(DisableAngular, 'render', { removeState: true }); export const config: ScullyConfig = { defaultPostRenderers: [DisableAngular], };
@puku0x PWA化 • @angular/service-workerとの組み合わせに課題 ◦ https://github.com/scullyio/scully/issues/529 ◦ https://github.com/angular/angular/issues/16051 • 他の方法(Workbox等)での実装を推奨
15
@puku0x 16 https://github.com/puku0x/puku0x.net
@puku0x Scullyの今後 • ドキュメント更新 • 公式プラグイン拡充 ◦ Google Analytics、LogRocket、Sentry ◦
scully-plugin-disable-angularと似たプラグインも? • Angular以外も対応予定 17
@puku0x まとめ • Scullyを使うと簡単にSSG導入できる ◦ Angular対応なので既存の資産が活かせる ◦ エコシステムはまだ改善の余地あり ◦ ベータ版なので貢献のチャンス!
◦ https://scully.io/ 18
@puku0x 19 https://www.vega-c.com/recruit/ 採用のお知らせ
@puku0x Thank you! @puku0x Noriyuki Shinpuku