【问题标题】:nuxt.js - "This page could not be found" on static page with base ./nuxt.js - 在带有 base ./ 的静态页面上“找不到此页面”
【发布时间】:2020-02-20 09:17:43
【问题描述】:

我尝试使用 nuxt 生成一个静态网站,但是当我打开 index.html 文件时,它显示了一个无限加载屏幕,并出现此 JS 错误:

未能加载来源为 « file:///_nuxt/42185af33c638e7022a3.js » 的元素。

所以,在我进行搜索后,我将router.base 配置更改为./,它会抛出此错误:

找不到此页面
返回首页

但是当我点击Back to the home page 时,它会显示我的主页。

有人知道如何从静态构建中打开index.html 文件吗?
我解释了我的项目:我希望用 Capacitor 运行我的应用程序,所以我需要静态构建工作正常。

提前感谢,并为我写得不好的英文道歉。

【问题讨论】:

  • 1.删除路由器底座 2. 运行npm run generate 3. 打开index.html 文件搜索/_nuxt/ 并将其替换为_nuxt
  • 我认为您的意思是:将/_nuxt/ 替换为_nuxt/,我试过了,但它不起作用。我已经编辑了我的帖子,错误不包含/app/

标签: build static http-status-code-404 nuxt.js router


【解决方案1】:

最后我发现我的问题是用 Capacitor 运行我的应用程序,Android 不喜欢下划线。

nuxt.config.js 中,只需将_nuxt 更改为nuxt

build: {
  publicPath: '/nuxt/',
  // ...
},

【讨论】:

    【解决方案2】:

    我找到了两个解决方案:

    解决方案 1:让您的项目成为“通用”而不是“单页应用”
    当您生成静态 Web 应用程序时,运行 index.html 时它可以正常工作。但是,Capacitor 显示页面但无法识别路由器,因此您无法在应用中切换页面。

    解决方案 2:在 spa 的 nuxt.config.js 中设置 router
    将此配置添加到 nuxt.config.js :

    router: {
      base: './'
      mode: 'hash'
    }
    

    当你在 dist 中打开 index.html 文件时它可以工作,但不能与电容器一起工作。

    因此我的请求得到了部分解决。

    【讨论】:

      猜你喜欢
      • 2019-03-03
      • 2020-04-07
      • 2020-06-02
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 2019-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多