nuxt修改ico和pwa的配置使用

本文介绍了如何在Nuxt.js应用中修改 favicon 和配置 Progressive Web App (PWA),包括在static目录下添加图标、调整PWA manifest配置,并提到了在本地开发环境下手动触发PWA桌面安装的方法。
摘要由CSDN通过智能技术生成
修改ico
  1. 在static中添加自己需要的图标,如favicon2.ico
  2. nuxt.config.js中修改
head:{
	link: [
	{ rel: "icon", type: "image/x-icon", href: "/favicon2.ico" },
      { rel: "shortcut icon", href: "/favicon2.ico" },
      { rel: "apple-touch-icon", href: "/favicon2.ico" }
		]
}

配置pwa
  1. 安装@nuxtjs/pwa
  2. pwa默认所需图标是static/icon.png, 若修改了文件位置或命名,如static/icon2.png,则需要配置icon
  modules: ["@nuxtjs/pwa"],
  pwa: {
    icon: {
      source: "/icon2.png",  //路径为static中的icon2.png
      fileName: 'icon2.png'
    },
    
    manifest: {
      name: "我是名字",
      short_name: "我是名字",
      lang: "zh-CN",
      theme_color: "#fff", 
      description:
        "我是描述"
    },
    // workbox: {        //开发环境取消注释,调试pwa, 打包时注释
    //   dev: true 
    // }
  },

注意点:pwa只能在localhost和127.0.0.x或https安全域名下使用


手动触发保存pwa到桌面

示例: download.vue, 保存到桌面的按钮组件

<template>
  <div v-if="prompt" @click="download">
    保存至桌面
  </div>
</template>

<script>
export default {
  data() {
   return {
  	 prompt: null
   }
  },
  mounted() {
    window.addEventListener("beforeinstallprompt", this.beforeinstallprompt);
  },

  methods: {
    beforeinstallprompt(e) {
      this.prompt = e
      e.preventDefault();
      return false;
    },
    download() {
      if (this.prompt) {
        // 异步触发横幅显示,弹出选择框,代替浏览器默认动作
        this.prompt.prompt();
        // 接收选择结果
        this.prompt.userChoice
          .then((result) => {
		   // {outcome: "dismissed", platform: ""} // 取消添加
		   // {outcome: "accepted", platform: "web"} // 完成添加
          })
          .catch((err) => {
            console.log(err);
          });
      }
    },
  },
};
</script>

Nuxt.js 使用 PWA (Progressive Web App) 模块可以让您的网站具备类似原生应用的功能,包括添加到主屏幕。以下是基本步骤: 1. **安装依赖**: 首先,你需要在项目安装 `nuxt-pwa` 插件,可以使用 npm 或 yarn 来安装: ```bash npm install nuxt-pwa # 或者 yarn add nuxt-pwa ``` 2. **配置PWA模块**: 在 `nuxt.config.js` 文件添加 PWA 相关配置: ```javascript export default { plugins: [ { src: '~/plugins/nuxt-pwa', ssr: false }, ], pwa: { name: 'Your App Name', shortName: 'App Short Name', description: 'A brief description of your app', themeColor: '#007bff', startUrl: '/', display: 'standalone', icons: { android: true, appleIcon: true, appleStartup: true, favicon: true, maskIcon: true, path: '/img/icons/', }, }, } ``` 3. **生成图标**: PWA 需要不同尺寸的图标。你可以手动创建并放在配置指定的路径下,也可以使用工具自动生成,如 `generate-iconic-icons`。 4. **触发添加至主屏**: 使用 `<meta>` 标签告知浏览器,当用户点击某些按钮时可以将应用添加到主屏幕: ```html <template> <button @click="addToHomeScreen">Add to Home Screen</button> </template> <script> methods: { addToHomeScreen() { window.addEventListener('beforeinstallprompt', event => { event.userChoice.then(choiceData => { console.log('User added to homescreen'); }); }); }, } </script> ``` 5. **测试和部署**: 在开发环境通过 Chrome 浏览器的 DevTools 的 PWA 管理页面预览,生产环境下需要服务器支持相应的响应头和文件类型。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值