为什么nuxt构建的应用程序中的baseURL总是像服务器应用程序的baseURL一样?

问题描述 投票:1回答:1

我需要生成的nuxt应用程序将请求发送到'/'。因此,应用程序的api将位于其静态生成的文件所在的位置。

我面临问题:运行'nuxt generate'时,process.server为true,process.browser为false。在生成过程中,nuxt将查询发送到服务器baseURL(localhost:3000),可以。但是生成的javascript代码也尝试将查询发送到localhost:3000。

我运行命令

 http-server -c-1 -p 3001 ./dist/

并在浏览器中打开localhost:3001,我看到生成的页面,并且在控制台中出现错误:

 Failed to load http://localhost:3000/data/pages.db

在我的nuxt.config.js中

  axios: {
    browserBaseURL: '/',
  },

当我在浏览器中运行npm run dev时,浏览器将请求发送到'/',但生成的应用程序仍将请求发送到localhost:3000

如何解决此问题?

UPD:我需要从asyncData中的/ static获取json文件。我想,我找到了解决方法。

我使用axios,而不是@@ nuxtjs / axios,并在一处进行以下操作:

 axios.defaults.baseURL = typeof window === 'undefined' 
     ? 'http://localhost:3000' : window.location.origin 

以及之后的任何组件中

 import axios from 'axios'

asyncData

 axios.get(`/data/teasers/${path}`)

因此,我可以生成静态文件,将其放置到任何域,并且js代码可以正确地从/ static获取文件。

我希望这会派上用场。

我需要生成的nuxt应用程序将请求发送到'/'。因此,应用程序的api将位于其静态生成的文件所在的位置。我遇到的问题是:运行时...

nuxt.js
1个回答
0
投票

迟来的回复,可能对其他人有用。

© www.soinside.com 2019 - 2024. All rights reserved.