在开发过程中一切都很正常——预加载会有字体、图片和脚本。但当我构建生产环境时,字体没有被预加载。除了字体以外,其他都有预加载。
render: {
http2: {
push: true,
pushAssets: (req, res, publicPath, preloadFiles) => console.log(preloadFiles)
}
}
在开发环境下输出 (nuxt
)
[
{
file: 'runtime.js',
extension: 'js',
fileWithoutQuery: 'runtime.js',
asType: 'script'
},
{
file: 'vendors.app.js',
extension: 'js',
fileWithoutQuery: 'vendors.app.js',
asType: 'script'
},
{
file: 'app.js',
extension: 'js',
fileWithoutQuery: 'app.js',
asType: 'script'
},
{
file: 'assets/fonts/Play.woff',
extension: 'woff',
fileWithoutQuery: 'assets/fonts/Play.woff',
asType: 'font'
},
{
file: 'assets/fonts/Play.woff2',
extension: 'woff2',
fileWithoutQuery: 'assets/fonts/Play.woff2',
asType: 'font'
},
{
file: 'pages/index.js',
extension: 'js',
fileWithoutQuery: 'pages/index.js',
asType: 'script'
},
{
file: 'assets/images/logo.svg',
extension: 'svg',
fileWithoutQuery: 'assets/images/logo.svg',
asType: 'image'
},
]
生产环境下的输出(nuxt build; nuxt start
):
[
{
file: '5e0bcb963558b2151b59.js',
extension: 'js',
fileWithoutQuery: '5e0bcb963558b2151b59.js',
asType: 'script'
},
{
file: 'a8df7e6ca1b41b6ba1f3.js',
extension: 'js',
fileWithoutQuery: 'a8df7e6ca1b41b6ba1f3.js',
asType: 'script'
},
{
file: 'da6509a7baaff1386039.js',
extension: 'js',
fileWithoutQuery: 'da6509a7baaff1386039.js',
asType: 'script'
},
{
file: '834b4e9b65d7391ff800.js',
extension: 'js',
fileWithoutQuery: '834b4e9b65d7391ff800.js',
asType: 'script'
},
{
file: 'img/0b5b752.svg',
extension: 'svg',
fileWithoutQuery: 'img/0b5b752.svg',
asType: 'image'
},
]
我想不出来该怎么办。也许有人遇到过这样的问题?如何决定呢?
我不得不写这篇文字,因为我不能公开太多的代码,也不知道还能说什么。对于这种欺骗行为,我感到非常抱歉。
更新:最小可复现示例的存储库 https://github.com/NomNes/nuxtjs-fonts-preload-bug.git