我有一个(服务器端)函数,我想在第一次启动我的 next.js 服务器时运行。通常我会做这样的事情在我的package.json脚本定义:node ./path/to/script.js && next start。但是有问题的脚本从“webpacked”代码中导入了几个资源,所以这并不容易。(我知道可以使用 开启 node.js 中的 es6 支持--experimental-modules,但这会带来它自己的问题,我宁愿不去那个兔子洞)
到目前为止,我拥有的最佳解决方案是创建一个 api 端点来运行这些脚本,然后在启动后手动点击该端点。但是这样做似乎是一种黑客行为,如果有人发现它,这个端点可能会被用于某种 DoS 攻击。
有没有更好的解决方案,只允许在应用程序启动时注册要运行的函数/回调?我认为可能的位置是next.config.js,但我在可能的设置列表中看不到任何可能的内容。
PostgreSQL init process complete; ready for start up.
2022-05-16 19:28:51.674 UTC [1] LOG: starting PostgreSQL 14.2 on x86_64-pc-linux-musl, compiled by gcc (Alpine 10.3.1_git20211027) 10.3.1 20211027, 64-bit
2022-05-16 19:28:51.674 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2022-05-16 19:28:51.674 UTC [1] LOG: listening on IPv6 address "::", port 5432
2022-05-16 19:28:51.677 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2022-05-16 19:28:51.681 UTC [51] LOG: database system was shut down at 2022-05-16 19:28:51 UTC
2022-05-16 19:28:51.684 UTC [1] LOG: database …Run Code Online (Sandbox Code Playgroud)