将已经转化为PWA的Angular项目在GitLab Pages上发布,只需5分钟

PWA是一种功能,可将Web应用程序安装到手机设备上,就像安装原生应用程序一样。(无需经过应用商店,可以从浏览器上进行安装)

实际上与原生应用有很多不同之处,但它具有足够的功能,例如可以设置应用图标和启动画面,支持推送通知等,作为一个简单的应用程序来说已经十分满足需求了。

因为对应自身很容易,所以我打算写关于如何将Angular项目变成PWA并通过GitLab Pages进行公开的方法。

创建一个Angular项目

创建项目

我将创建一个Angular项目模板。

ng new angular-pwa --routing --style=scss

渐进式网络应用程序的支持

参考资料中给出的,执行以下命令。

ng add @angular/pwa --project angular-pwa

以下的文件将被添加/更新

CREATE ngsw-config.json (620 bytes)
CREATE src/manifest.webmanifest (1079 bytes)
CREATE src/assets/icons/icon-128x128.png (1253 bytes)
CREATE src/assets/icons/icon-144x144.png (1394 bytes)
CREATE src/assets/icons/icon-152x152.png (1427 bytes)
CREATE src/assets/icons/icon-192x192.png (1790 bytes)
CREATE src/assets/icons/icon-384x384.png (3557 bytes)
CREATE src/assets/icons/icon-512x512.png (5008 bytes)
CREATE src/assets/icons/icon-72x72.png (792 bytes)
CREATE src/assets/icons/icon-96x96.png (958 bytes)
UPDATE angular.json (3894 bytes)
UPDATE package.json (1372 bytes)
UPDATE src/app/app.module.ts (604 bytes)
UPDATE src/index.html (478 bytes)

为了进行GitLab Pages的部署所需的修改

由於GitLab Pages是作為{帳戶名}.gitlab.io的子目錄進行公開,所以需要進行一些修改。

修改Angular的构建设置

设置baseHref和deployUrl。

{
  "projects": {
    "angular-pwa": {
      "architect": {
        "build": {
          "options": {
            "baseHref": "/angular-pwa/",
            "deployUrl": "/angular-pwa/",
       ・・・

修改PWA清单文件。

请在start_url中设置安装后的首页URL。
如果不设置这个,即使启动了已安装的应用程序,也不会显示页面。

{
  "start_url": "/angular-pwa/",
  ・・・

在package.json中添加生产环境构建脚本

"scripts": {
    ・・・
    "build:prod": "ng build --prod",
    ・・・
}

添加 .gitlab-ci.yml

为了自动部署到GitLab Pages,我们将创建CI配置文件。
由于有一个空白HTML模板,我们将参考它创建.gitlab-ci.yml文件,以适用于Angular。

image: node:latest

pages:
  stage: deploy
  script:
  - npm install
  - npm run build --prod
  - mkdir public
  - mv dist/angular-pwa/* public
  artifacts:
    paths:
    - public
  only:
  - master

积分

    • npm コマンドを動かすため、イメージをnode:latest

GitLab Pagesへデプロイするため、本番ビルドしたものをpublicディレクトリに移動

将代码推送到GitLab。

创建一个名为angular-pwa的项目,并将其推送到https://gitlab.com/teracy55/angular-pwa。

将该代码推送到主分支后,流水线就会开始运行。

image.png

确认 GitLab Pages

如果流水线已经完成,并且成功将页面部署到Pages上,则可以在「设置->页面」中确认URL。

image.png

请确认是否支持PWA功能。

如果支持PWA,浏览器地址栏会显示⊕标志,并且在电脑上可以像安装桌面应用程序一样安装。

image.png
Screenshot_20191109-112142.jpg

请在灯塔上确认

使用Chrome的扩展程序Lighthouse可以检查目标页面是否支持PWA。

image.png

请将以下内容用中文同义词重新表达,只需要一个选项:

image.png

最终

经过PWA支持的Angular项目的简单发布,可以轻松制作出面向智能手机的应用程序。即使没有智能手机应用开发知识,也能够创建出适用于智能手机的应用,非常方便。

在考虑将Web应用适配到智能手机时,我认为在创建应用之前先考虑使用PWA适配是否足够也是可行的。

广告
将在 10 秒后关闭
bannerAds