"npm run generate"해도 favicon이 변하지 않을 때의 대처법 【nuxt.js】
1. 버그 내용
아래와 같은 흐름으로 배포를 했습니다만, 「Nuxt의 디폴트 아이콘이 파비콘으로서 표시되는 에러」가 일어났습니다.
nuxt.js (vue.js)
에서 프로젝트 만들기( SPA / PWA
에서 생성) favicon.ico
및 icon.png
를 사용자 정의 아이콘 파일로 변경 npm run dev
에서 파비콘이 변경되었는지 확인 npm run build
다음 npm run generate
다음 정적 폴더 ( dist
) 생성 firebase hosting
에 배포 호스팅한 사이트의 탭을 보면 다음과 같이 되었습니다.
바꿔야 할 Favicon이 왜 Nuxt의 기본 아이콘으로 남아있었습니다.
덧붙여서
npm run dev
로 세운 로컬 서버에서는, 변경 후의 파비콘이 표시되었습니다.이 기사에서는 이러한 경우에 대한 간단한 해결책을 소개합니다.
2. 사쿠와 대처하는 방법
① 아래와 같이 pwa: {icon: false},
를 nuxt.config.js
에 추가
nuxt.config.js...
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa',
],
// ===== 以下のコードを追加 =====
pwa: {
icon: false
},
...
② dist 폴더 삭제 ( rm -rf dist
)
③ 다시 다음 명령으로 dist 폴더를 생성하여 배포
% npm run build
% npm run generate
% firebase deploy --only hosting
그러면 아래와 같이 favicon.ico
의 데이터가 무사하게 표시됩니다!
3. 버그의 원인
조사해 보았더니, PWA 버그 에 의한 것 같았습니다.
내 프로젝트에는 다음과 같이 @nuxtjs/pwa
모듈을 추가했습니다.
nuxt.config.js...
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa',
],
...
그리고 그 결과, 아래와 같이 dist/nuxt/icons
안에 PWA 대응용의 화상이 생성되고 있었습니다.
게다가, 이 파일들은 “nuxt 디폴트 아이콘”이 되었다.
공식 페이지 에 의하면, 디폴트에서는 static/icon.png
를 참조해 생성되는 것 같습니다만, 아무래도 거기의 패스가 잘 일치하지 않는 것 같았습니다.
따라서 우선 조치로 PWA 아이콘을 비활성화하는 명령을 추가하면이 폴더가 더 이상 생성되지 않으며 PWA 아이콘 대신 favicon.ico
아이콘이 우선적으로 표시됩니다. .
4. 제대로 대처하는 방법
어디까지나 여기까지 소개한 것은, 바삭바삭과 대처하는 방법이었습니다만, 「PWA의 아이콘을 제대로 설정하고 싶다!」라고 하는 분은, 이하와 같은 방법으로 대처하면 좋을까 생각합니다.
A. faviator를 사용한 대처법
...
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa',
],
// ===== 以下のコードを追加 =====
pwa: {
icon: false
},
...
% npm run build
% npm run generate
% firebase deploy --only hosting
조사해 보았더니, PWA 버그 에 의한 것 같았습니다.
내 프로젝트에는 다음과 같이
@nuxtjs/pwa
모듈을 추가했습니다.nuxt.config.js
...
modules: [
// https://go.nuxtjs.dev/axios
'@nuxtjs/axios',
// https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa',
],
...
그리고 그 결과, 아래와 같이
dist/nuxt/icons
안에 PWA 대응용의 화상이 생성되고 있었습니다.게다가, 이 파일들은 “nuxt 디폴트 아이콘”이 되었다.
공식 페이지 에 의하면, 디폴트에서는
static/icon.png
를 참조해 생성되는 것 같습니다만, 아무래도 거기의 패스가 잘 일치하지 않는 것 같았습니다.따라서 우선 조치로 PWA 아이콘을 비활성화하는 명령을 추가하면이 폴더가 더 이상 생성되지 않으며 PWA 아이콘 대신
favicon.ico
아이콘이 우선적으로 표시됩니다. .4. 제대로 대처하는 방법
어디까지나 여기까지 소개한 것은, 바삭바삭과 대처하는 방법이었습니다만, 「PWA의 아이콘을 제대로 설정하고 싶다!」라고 하는 분은, 이하와 같은 방법으로 대처하면 좋을까 생각합니다.
A. faviator를 사용한 대처법
B. head를 편집하는 대처법
5. 보충(개발 환경)
version.txt% node -v
v14.12.0
% npm -v
6.14.8
% npm list --depth=0
[email protected] ~/Documents/sample
├── @nuxt/[email protected]
├── @nuxt/[email protected]
├── @nuxt/[email protected]
├── @nuxtjs/[email protected]
├── @nuxtjs/[email protected]
├── @nuxtjs/[email protected]
├── @nuxtjs/[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
% firebase --version
8.11.2
Reference
이 문제에 관하여("npm run generate"해도 favicon이 변하지 않을 때의 대처법 【nuxt.js】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/umi_mori/items/c494ad92b2c8425f3a14
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
% node -v
v14.12.0
% npm -v
6.14.8
% npm list --depth=0
[email protected] ~/Documents/sample
├── @nuxt/[email protected]
├── @nuxt/[email protected]
├── @nuxt/[email protected]
├── @nuxtjs/[email protected]
├── @nuxtjs/[email protected]
├── @nuxtjs/[email protected]
├── @nuxtjs/[email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
% firebase --version
8.11.2
Reference
이 문제에 관하여("npm run generate"해도 favicon이 변하지 않을 때의 대처법 【nuxt.js】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/umi_mori/items/c494ad92b2c8425f3a14텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)