(6) 静态前端网站容器化 - 【源码解读】 使用 gin FS 模式为什么无限 301 重定向了?

(6) 静态前端网站容器化 - 【源码解读】 使用 gin FS 模式为什么无限 301 重定向了? 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2025/02/09/gin-static-fs-301-redirect/ 为了解决 BrowserRouter 模式下的, History API Fallback 问题。 我们在后端服务器做了一些兼容配置。 (4) 静态前端容器化 - 单页面应用(SAP) History API Fallback - 刷新 404 但是由于 gin 对于 StaticFS() 和 FileFromFS() 两个方法的实现问题, 造成了无限 301……

阅读全文

(5) 静态前端网站容器化 - 容器篇 - 自定义 HTTP Server

(5) 静态前端网站容器化 - 容器篇 - 自定义 HTTP Server 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2025/02/09/static-sap-dockerize-customize-httpserve/ 众所周知, 我们在容器化 静态网站 的时候为了实现 一次编译, 处处运行 的目标, 在 index.html 中插入了一个变量 __CONFIG__, 在启动的时候进行替换为正式后端的地址。 可以参考 (2) Vue3 / React 静态网站项目容器化 - 实战案例 (3) 静……

阅读全文

(4) 静态前端容器化 - 单页面应用(SAP) History API Fallback - 刷新 404

(4) 静态前端容器化 - 单页面应用(SAP) History API Fallback - 刷新 404 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2025/02/09/static-sap-history-api-fallback-issue/ 当单页面(SAP)页面使用了路由之后(例如 React-Router), 刷新页面就可能造成 404 问题。 问题主要原因是出在 BrowserRouter, 例如 地址 http://localhost:3000/login BrowserRouter 依赖于浏览器的 History API 来管理路由。例……

阅读全文

(3) 静态前端网站容器化 - 容器篇

(3) 静态前端网站容器化 - 容器篇 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/12/16/static-website-container-image/ 相关连接 (1) 静态前端网站容器化 - 理论篇 (2) Vue3 / React 静态网站项目容器化 - 实战案例 对于容器的选择, 其实没什么多数说的, 普通的 nginx 就可以了, 或者类似 caddy 这些都行。 如果由于某些权限问题, 选择了 nginxinc/nginx-unprivileged - docker-hub 则需要注意, /usr/share/nginx/html 权限归于 root 启动用……

阅读全文

Python: VsCode 中指定执行版本

Python Select Interpreter in Vscode 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/12/02/python-select-interpreter-in-vscode/ python 中提供了两种方式执行运行版本 选择默认 Python 版本 Mac Command + Shift + P -> Python: Select Interpreter 配置默认版本 打开 settings.json 1 "python.defaultInterpreterPath": "/usr/bin/python3", 或在 settings 中搜索 python default Interpreter Path 创建虚拟环境 .venv 或 .conda Mac Command + Shift + P -> Python: Create Environment 选择 .venv 或 .conda 管理虚拟环境 更多参考 VsCode 官方文档 Create Environment……

阅读全文

Python: 关于 Package 和 Module 快速入门

Python: 关于 Package 和 Module 快速入门 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/29/python-package-module-quick-start/ 什么是 包 (Package) 如果一个目录中有 __init__.py , 那这个目录就是 包 Package 什么是 模块 (Module) xxx.py 文件就是模块 怎么引用自定义包 把 包路径 使用 sys.path.append(xxx) 添加后, 就可以使用 1 2 3 4 5 6 7 8 9 10 11 # import {Package} from x.Package import Module print(f"Module.Attribute") from x.Package.Module import Attribute print(f"{Attribute}") # 别名 from x.Package.Module import Attribute as attr print(f"{attr}") 不能使用 连续的 . 结构 1 2 import x.Package……

阅读全文

Docker Set Up Client Only

Docker Set Up Client Only 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/PostDate/PostName/ 如果只想使用 docker / docker-compose 等命令工具控制远端服务上的 docker-engine。 MacOS 下载 docker-cli https://docs.docker.com/engine/install/binaries/#install-client-binaries-on-macos 1 wget -c https://download.docker.com/mac/static/stable/aarch64/docker-27.3.1.tgz 下载 docker-compose https://github.com/docker/compose/releases 1 wget -c https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-darwin-aarch64 Usage 1 2 3 export DOCKER_HOST=ssh://remote-host docker ps……

阅读全文

Python 类型提示: Typed Dict

Python 类型提示: Typed Dict 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/23/python-hint-typed-dict/ 在 Golang 中, 通过 json/yaml 解析对象后, 可以通过提示器快速获取字段 但是 Python 作为动态语言, 这方便的功能就比较弱。 但好在 Python 提供了 TypedDict 进行提示。 typing 是标准库, 不用安装。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # TypedDict from typing import TypedDict class Movie(TypedDict): name: str year: int movie: Movie = { "name": "Groot", "year":……

阅读全文

Python pip 源配置

Python pip 源配置 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/22/python-pip-conf/ 使用阿里云的 pip 源。 支持 https 和 http 1 2 3 4 5 6 7 8 9 mkdir ~/.pip cat > ~/.pip/pip.conf << EOF [global] trusted-host=mirrors.aliyun.com index-url=https://mirrors.aliyun.com/pypi/simple/ EOF mac + venv 在 mac + venv 下, 路径 ~/.pip/pip.conf 中的配置并不生效。 而真正生效的路径是 ~/.config/pip/pip.conf……

阅读全文

Python Keywords: with

Python Keywords: with 建议点击 查看原文 查看最新内容。 原文链接: https://typonotes.com/posts/2024/11/22/python-keywords-with/ with 是 python 中的一个关键字。 一种更简单的方式实现 try...catch。 例如, 打开文件后获得文件句柄f, 无论执行是否正常都需要关闭句柄。 1 2 3 4 5 6 try: f = open("file.txt", "r") f.write("Hello, World!") finally: f.close() 但是使用 with 关键字, 就可以简单的写成如下 1 2 with open("file.txt", "w") as f: f.write("Hello, World!") with...as 的类实现: ContextManager with……

阅读全文

福利派送

  • (免费星球)「运维成长路线」

  • 又拍云免费 CDN

最近文章

分类

标签

其它