在nuxtjs spa中,如何将资产与相对URL链接?

时间:2018-01-11 12:13:11

标签: webpack nuxt.js

当构建spa模式中的nuxtjs应用时,资产会在/_nuxt/vendor.a0f2fda15695e202a186.js的{​​{1}}引用。

是否可以引用具有相对URL的文件(没有第一个斜杠)?

(类似于index.html

2 个答案:

答案 0 :(得分:3)

1。是否可以引用具有相对URL的文件?

可能不是。

请参阅 https://github.com/nuxt/nuxt.js/issues/1380

2。真正的问题

你想要一个"相对路径"您的资产是因为您的SPA(或您的资产)不在您域的根目录中。例如:

您的SPA不在https://my-domain.com/

但在https://my-domain.com/my-app/

3。解决方案

转到nuxt.config.js并修改以下属性。

build: {
    // Set the absolute path where the assets are.
    // https://nuxtjs.org/api/configuration-build#publicpath
    publicPath: 'https://my-domain.com/my-app/',
},

router: {
    // Set the "Base" of the router.
    // https://router.vuejs.org/en/api/options.html#base
    base: '/my-app/'
},

link: [
    // Do this if you have files that are located at /static/
    // https://nuxtjs.org/guide/assets#static
    {
        rel: 'stylesheet',
        type: 'text/css',
        href: '/my-app/myStyleSheet.css'
    }
]

4。参考

答案 1 :(得分:0)

您应该在nuxt.config.js文件的路由器配置中将 base 参数设置为“my-app”:

module.exports = {
 router: {
   base: '/my-app/'
 }
}

比照doc https://nuxtjs.org/api/configuration-router/#base