xianii/tecnico.cc-3-non-root部署

Created Thu, 19 Aug 2021 00:00:00 +0000 Modified Mon, 08 Nov 2021 19:21:56 +0000
551 Words

按照计划是将应用部署在app.tecnico.cc/xxxxx这样的子域名下。

Caddy的配置如下:

app.tecnico.cc {
        root * {$HOME}/www/app.tecnico.cc
        file_server
        encode gzip
}

然后把页面按照目录放到HOME/www/app.tecnico.cc/里面就能直接访问到了。

问题

碰到的第一个问题是忘记加app.tecnico.cc子域名的解析了。加上就ok了。实际上可以直接加上泛域名解析,把所以子域名都解析到同一个ip下面,这样做是可以满足现在的需求的。

第二个问题是所有资源的获取路径都错误的是从根目录下获取的,而不是页面所在的目录,所以获取不到。

举例来说,本来资源路径是https://app.tecnico.cc/abcd/static/xxx.js,但是实际上变成了https://app.tecnico.cc/static/xxx.js.

查阅了一下文档,发现在这个模板项目的index.js的代码注释中就有线索,只要在package.json中加上"homepage": ".",这条配置,就能够把里面的环境变量PUBLIC_URL更改为当前目录了。默认不加的话,是在根目录。当然,如果需要的话,也可以改成其他路径。

然后第一个应用,虽然功能还没开始写,但是页面已经确确实实的跑起来了。也可以作为PWA应用安装到本地了。