【问题标题】:nuxt-link makes different urls in development and generate/production modenuxt-link 在开发和生成/生产模式下创建不同的 url
【发布时间】:2020-09-05 13:33:48
【问题描述】:

我创建了一个 nuxt 项目,在开发模式下它工作正常,但是当我运行 npm run generate 或将它托管在服务器上时,nuxt-link 生成的链接没有正确的 href 值。比如这是开发模式下生成的地址:

<nuxt-link :to="{name: 'lang-music', params: {lang: key, music: song.name}}"></nuxt-link>
http://localhost:3000/yiddish/Die%20goldene%20Pave

但在 gitlab 页面上它会生成:

https://username.gitlab.io/yiddish/Die%20goldene%20Pave

虽然应该是:

https://username.gitlab.io/learnlyric/yiddish/Die%20goldene%20Pave

我的页面文件夹结构:

【问题讨论】:

    标签: vue.js nuxt.js nuxt-link


    【解决方案1】:

    问题是 Nuxt 不知道你的基本 url,你只需要将它添加到 nuxt.config.js 文件中。

    // nuxt.config.js
    
    export default {
      router: {
        base: process.env.DEPLOY_ENV === 'GH_PAGES' ? '/learnlyric' : '';
      }
    }
    

    有关详细信息,请参阅Nuxt documentation

    【讨论】:

    • 谢谢。我不知道为什么您的代码不起作用,但 base: '/learnlyric' 解决了问题。
    • 它使用DEPLOY_ENV 变量,您可以在执行命令时设置该变量。例如generate:gh-pages": "DEPLOY_ENV=GH_PAGES nuxt generate(不适用于 Windows,请参阅cross-env)。如果您只有一个部署环境,可以使用process.env.NODE_ENV === 'production' 代替!如果答案适合你,你能用绿色勾号标记它吗,谢谢?
    猜你喜欢
    • 1970-01-01
    • 2017-07-27
    • 2016-03-29
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多