tho*_*paw 7 icons gitlab gitlab-ci progressive-web-apps nuxt.js
我有以下问题。我正在使用 nuxt 和 pwa 模块来生成一个预渲染的网页。@nuxt/pwa 图标模块应该为清单生成不同大小的图标。
当我nuxt generate在笔记本电脑上运行时,这也有效。
在我的 gitlab-ci 管道中,生成也在工作,但它总是生成默认的 nuxt 图标
这个图标我不能在我的工作区中,所以我想它是在 node_modules 的 docker build 中以某种方式引用的。
我正在使用以下 gitlab-ci 作业
build:
image: node:alpine
stage: build
script:
- npm run generate
artifacts:
paths:
- dist/*
expire_in: 14 days
only:
- master
Run Code Online (Sandbox Code Playgroud)
该package.json如下所示:
"scripts": {
"generate": "nuxt generate",
...
},
"dependencies": {
"@nuxtjs/pwa": "^3.0.0-beta.20",
"nuxt": "^2.14.0",
...
},
"devDependencies": {
...
}
Run Code Online (Sandbox Code Playgroud)
我还在我的 nuxt.conf.js 中尝试了很多不同的设置,因为我猜测图标没有正确引用。
这是我最后一次尝试
pwa: {
icon: {
source: resolve(__dirname, './client/static/icon.png'),
},
},
Run Code Online (Sandbox Code Playgroud)
但由于它是在本地发现的,我认为它是正确的。
有谁知道为什么nuxt generate在 gitlab-ci 中不起作用?
小智 16
问题似乎是位于 /node_modules/.cache/pwa/icon
如果文件名未更改,Nuxt 不会生成新图标,这就是使用默认图标的原因。特别是如果您的新图标文件是“icon.png”。
你可以通过这三种方式:
/node_modules/.cache/pwa/icon在部署之前删除缓存,但这仅适用于本地/开发环境,所以这是无效的。
您可以按照建议的其他评论重命名文件,但每次更改文件时都必须重命名。因此,虽然这会奏效,但它仍然远远不够好,即使对于一个黑客解决方案也是如此。
第三种方法是在 yarn/npm 生成脚本中删除该文件夹。这看起来像这样:
generate: 'rm -r /node_modules/.cache/pwa/icon && nuxt generate';
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,图标也没有在我的本地环境中更新。现在我可以通过添加来修复它
pwa: {
icon: {
fileName: 'app-icon.png',
},
},
Run Code Online (Sandbox Code Playgroud)
到我的 nuxt.config.js 并相应地更改文件名。但这可能有点hacky。
我使用 Netlify 进行部署并清除了那里的缓存,但没有运气。您是否在 Gitlab 中清除了 Runner Cache 然后再试了一次?
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |