安固途径

知识来源于感觉和经验

Nextjs 为静态文件设置 CORS

2023-05-06, 星期六|
修复开发

问题从何而来

在 Chrome 浏览器中报错,说 "access to image at ... svg' from origin ... No 'Access-Control-Allow-Origin' header ..."

是有一个网站在某一个地方引用了另一个可控网站的 svg 资源,但是是不同的域,所以报错了。在页面上的体现就是一个图标看不见。所以,需要设置另一个网站的 cors 响应头,如果另一个网站是基于 nextjs 开发的话,那么该如何设置呢?

设置 Nextjs 静态文件跨域 Headers

在 Next.js 中配置静态文件的响应头需要使用一个名为 next.config.js 的配置文件。你可以在该文件中添加一个函数 async headers() 来设置你想要的响应头。

以下是一个例子,展示如何设置 xyz 文件夹中所有文件的 Access-Control-Allow-Origin 字段为 *:

  // next.config.js

  module.exports = {
    async headers() {
      return [
    {
...
阅读全文

git 命令如何查看某文件的变更记录前后比对

2023-04-28, 星期五|
git软件

可以用到 git 子命令 git log

git log -p -- <path>

git log -p -- README.md

下面是帮助文档

  -p, -u, --patch
      Generate patch (see section on generating patches).
...
阅读全文

Debian 为基的 docker 镜像如何安装新版 cargo

2023-04-28, 星期五|
安装linux

Debian 为基的 docker 镜像如何安装新版 cargo,你需要这三句指令

1. 利用 curl 下载并执行

远端 rustup-init.sh

RUN curl https://sh.rustup.rs -sSf | sh -s -- -y

2.指定 Dockerfile Shell

以执行 source 命令

SHELL ["/bin/bash", "-c"]

3. 利用 source 加载 cargo

RUN source "$HOME/.cargo/env" && pip3 install -r requirements.txt

最终

的代码

SHELL ["/bin/bash", "-c"]

# Install Rust and Cargo
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
RUN source "$HOME/.cargo/env" && carg
...
阅读全文

“方正舒同行书”字体

2023-04-23, 星期日|
安装资源

方正舒同行书

“方正舒同行书”字体下载

...
阅读全文

Crontab 启动 nodejs 脚本失效

2023-04-21, 星期五|
linux系统设置

开发环境

  • Ubuntu 20

问题

待执行的脚本 a.js,其权限为可执行,且

Shebang 设置为

#!/usr/bin/env node

在计算领域中,Shebang(也称为Hashbang)是一个由井号和叹号构成的字符序列 #! ,其出现在文本文件的第一行的前两个字符。-- 维基百科

最终在 Crontab 执行时无用。

调试过程

通过查看 crontab log

tail -f /var/log/cron.log

如果没有开启 Crontab log 的话,可以先开启一下 log

sudo vim /etc/rsyslog.d/50-default.conf

解决办法

将 Shebang 设置为

#!/usr/local/bin/node

更多

可以通过 crontab -e 来编辑用户 crontab 脚本,或通过命令 crontab -l 来列出当前用户的所有 crontab 脚本。

...
阅读全文