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
Scully: Angular SSG
Search
puku0x
August 19, 2020
Technology
250
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
1
1.8k
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
1.6k
Agent Skills 入門
puku0x
0
2.4k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
2.3k
生成AIではじめるテスト駆動開発
puku0x
0
1.6k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
2
3.5k
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
1.8k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
330
ファインディでのGitHub Actions活用事例
puku0x
9
4k
Other Decks in Technology
See All in Technology
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
180
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
130
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
AIは「聞けば答える」から「任せると自分で進める」へ - JACTIMペナン地域部会・ペナン三水会講演
knishioka
0
110
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
550
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
190
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
130
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
410
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
920
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
470
Leo the Paperboy
mayatellez
10
2.4k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
30 Presentation Tips
portentint
PRO
1
430
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
WENDY [Excerpt]
tessaabrams
14
40k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
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