【问题标题】:Renaming next's output folder from "_next" to "next"将 next 的输出文件夹从“_next”重命名为“next”
【发布时间】:2020-02-27 14:50:33
【问题描述】:

我今天遇到了一个用例,我试图让我的 nextjs 应用程序在 android webview 中运行,不幸的是 android 无法解析以 _next 开头的路径,并且我的大部分块文件都在 _next/static 下构建我的应用程序。

有没有办法将此文件夹从 _next 重命名为 next 或其他任何名称? 这个问题将提供有关 android 在这方面如何工作的额外背景Android project is not resolving any static assets

【问题讨论】:

  • next.js代码库中有很多_next的地方,所以看起来应该是不应该配置的。

标签: next.js


【解决方案1】:

我通过 Nginx 路由处理了这个问题。

我在制作这个 Nginx 路由时假设每个文件都有唯一的哈希和文件名组合。

这是我使用的Nginx Routing的sn-p代码。

location /static/ {
    try_files $uri @server1;
}
location @server1{
    proxy_pass http://192.168.1.1$uri;
    proxy_intercept_errors on;
    recursive_error_pages on;
    error_page 404 = @server2;
}

location @server2{
    proxy_pass http://192.168.1.2$uri;
    proxy_intercept_errors on;
    recursive_error_pages on;
    error_page 404 = @server3;
}

location @server3{
    proxy_pass http://192.168.1.3$uri;
}

上述代码的作用是,每当 Nginx 遇到 /_next/ 时,它会首先尝试使用 @server1 的 URL,如果该服务器以 404 响应,Nginx 然后将请求转移到 @server2,如 error_page 参数中所述。

此示例的工作方式如下: try_files $uri @server1 @server2 @server3

这对我有用,因为我有 2 个在 Next 上开发的应用程序,并且都有 _next 路线。

如果这能解决您的问题,请告诉我。

【讨论】:

  • 很好,尽管在我的情况下我需要它来生成带有重命名文件夹的输出,即无法访问服务器覆盖
猜你喜欢
  • 2022-06-16
  • 1970-01-01
  • 2021-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-02
  • 2017-12-12
  • 2020-04-30
相关资源
最近更新 更多