在 CDN 的 vue 应用程序中保持资产和 public 路径不同

Keeping asset and public path different in vue app for CDN

vue 有这个选项 publicPath 允许在子路径上部署应用程序: foobar.com/my-path ,使链接和每个资产都可以通过它访问.

从性能的角度来看,我想在我的应用程序资产上启用 CDN。我如何使用 URL 专门用于资产(而不是超链接)?

示例: ./my-path/assets/app.js 应该变成 https://my-staging-cdn.com/my-path/assets/app.js
./my-path/url-2.html 应该保持不变

下面的配置允许我设置路径和资产目录,但无法弄清楚如何为资产设置 cdn URL

module.exports = {
  publicPath: ‘/my-path/‘,
  assetsDir: 'assets'
}

不能执行: publicPath: process.env.NODE_ENV === 'production' ? 'https://my-staging-cdn.com/my-path' : '/my-path/',因为它也会更改应用程序链接中的 URL。

无法使 CDN 正常工作或开箱即用。我尝试了其他策略,如预渲染或 Nuxt,但由于页面数量巨大,这不是一个选择。

objective 是为了让 SEO 机器人读取呈现的页面,所以我在 Rendertron 上圈出并部署了它的实例,并将其放在应用程序后面的反向代理中。这有效。