Ionic AngularでScullyを使ったSSGを試す
ScullyというAngular向けのStatic Site Generatorがあります。理論上、Angular を使用したIonicアプリケーションでも動くはずなので、試してみました。 Environment Ste […]
広告ここから
広告ここまで
目次
ScullyというAngular向けのStatic Site Generatorがあります。理論上、Angular を使用したIonicアプリケーションでも動くはずなので、試してみました。
Environment
$ ionic -v
6.10.2
$ npm ng -v
6.10.2
Step by Step
Step1: プロジェクトの作成
なにはなくともまずはプロジェクトの作成から
$ npx @ionic/cli start
$ cd PROJECT_DIR
Step2:Scullyの追加
ng add @scullyio/init
で追加します。
$ npm run ng add @scullyio/init
Installing packages for tooling via npm.
Installed packages for tooling via npm.
Install ng-lib for Angular v9
✅️ Added dependency
UPDATE src/app/app.module.ts (832 bytes)
UPDATE src/polyfills.ts (3059 bytes)
UPDATE package.json (1771 bytes)
✔ Packages installed successfully.
✅️ Update package.json
✅️ Created scully configuration file in scully.app.config.ts
CREATE scully.app.config.ts (178 bytes)
UPDATE package.json (1831 bytes)
Step3: ビルド
あとはビルドするだけです。コマンドが2つ必要なので注意してください。
// Build Ionic application
$ npm run build
// Generate Static Site By Scully
$ npm run scully
Tips: npm run export
のススメ
毎回2つ打つのも面倒なので、まとめておくと便利でしょう。
diff --git a/package.json b/package.json
index 0fdd23d..7b0f2b0 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,8 @@
"lint": "npm run ionic lint",
"e2e": "npm run ionic e2e",
"scully": "scully",
"scully:serve": "scully serve",
+ "export": "npm run build && npm run scully"
},
"private": true,
"dependencies": {
Step4: サイトの確認
scully:serve
で生成されたサイトが確認できます。
% npm run scully serve
> scully "serve"
starting static server
----------------------------------
Using stored unhandled routes!.
To discover new routes in the angular app use "npm run scully -- --scanRoutes"
----------------------------------
Scully static server started on "http://localhost:1668/"
Angular distribution server started on "http://localhost:1864/"
デプロイされたコードはどこにある?
dist/static
ディレクトリにあります。デプロイする際はこのパスを指定しましょう。
Example: Serve the site by PHP
$ cd dist/static
$ php -S localhost:8000
Demo site
以下にデモサイトとリポジトリをおいておきますので、参考になればです。
GitHub: https://github.com/hideokamoto/ionic-angular-scully
Demo Site: https://ionic-angular-with-scully-example.netlify.app/