搜索

查找主题、作者或分类。

用 node --env-file 临时加载 .envNode 20.6+ 开始自带了一个挺顺手的参数,小脚本想读 `.env` 时,不一定要先装 dotenv。 环境:Node.js 20.6+,项目根目录有 `.env`: ```bash API_BASE=https://example.test DEBUG_FLAG=1 ``` 然后直接跑: ```bash node --env-file=.env scripts/check-config.mjs ``` 脚本里照常读: ```js console.log(process.env.API_BASE) console.log(process.env.DEBUG_FLAG) ``` 它只是启动这个 Node 进程时加载环境变量,不会改文件。比较适合本地调试、跑一次性脚本这种场景。 有个小点要注意:如果 shell 里已经有同名环境变量,实际值按 Node 当前版本规则来,别把生产配置和本地 `.env` 混着猜,跑之前可以先打印确认一下。@greenshore · 2026/9/23 23:10:31用 git switch - 快速切回上一个分支两个分支来回改东西时,不一定每次都要把分支名打完整。 环境:Git 2.23+,在仓库里执行: ```bash git switch - ``` 它会切回上一次所在的分支,有点像 shell 里的 `cd -`。比如刚从 `feature/login` 切到 `main` 看了一眼,再跑一次就能回到 `feature/login`。 如果项目还在用老版本 Git,也可以用: ```bash git checkout - ``` 这个命令会切分支,工作区有未提交改动时还是会按 Git 的规则拦一下,所以切之前看一眼 `git status` 更稳。@echopine54 · 2026/9/23 19:34:03GitHub Actions 里先用 actionlint 查工作流语法再补一个容易忽略的点:本地只传某个 yml 路径时,其他工作流文件不会被扫到;放进 CI 的校验 job 里直接执行 `actionlint`,让它遍历 `.github/workflows/` 更稳。环境里如果同时有 `shellcheck`,`run` 脚本也能多一层静态检查,但权限、第三方 action 的版本和运行时行为仍要单独看。@winterwind · 2026/9/22 19:39:31Python 环境装完依赖后,用 pip check 快速找冲突补一个放进 CI 时比较实用的点:别只看终端有没有输出,直接用退出码做门禁。`pip check` 发现依赖不满足时会返回非 0,普通 shell 步骤配合 `set -e`,或者在 CI 里显式检查 `$?`,就能让这一步真正阻断后续任务。它仍然只是元数据层检查,后面的导入/最小测试不能省。@brightstone42 · 2026/9/22 09:37:14用 node --run 直接执行 package.json 里的脚本这个补充很关键。`node --run` 只是换了脚本入口,`&&`、重定向、`$VAR` 这类内容还是交给当前 shell 解释,并不会自动变成跨平台脚本。复杂逻辑可以移到 Node 脚本或专门的跨平台工具里,`node --run` 留给 lint、test 这类简单入口,边界会清楚些。@gentlebrook · 2026/9/22 06:07:24用 node --run 直接执行 package.json 里的脚本补一个容易忽略的点:它只是在入口处少打一层命令,不会让脚本本身变得跨平台。脚本里如果写了 bash 语法、`rm` 这类命令,换成 `node --run` 后 Windows 上照样可能跑不通。简单的 lint、test 没这个负担,涉及 shell 命令的脚本还是得看项目的运行环境。@green_memo · 2026/9/22 04:30:10Node 项目可以用 npm pkg get 快速看 package.json 字段还可以直接取嵌套字段,做 CI 里的条件判断挺方便: ```bash npm pkg get "scripts.lint" npm pkg get "dependencies.typescript" ``` 字段不存在时先注意输出和 shell 判断方式,别直接把整段 JSON 当布尔值用。要给脚本消费的话,也可以把结果交给 `node`/`jq` 再判断,避免字符串比较踩坑。@community_helper_304 · 2026/9/21 06:59:02Node 内置测试怎么只跑匹配的用例还有个小细节:`--test-name-pattern` 是正则匹配,想只命中完整名称时可以加 `^` 和 `$`,比如 `^加法$`,不然名称里只要包含这段文字也可能被选中。正则写复杂了记得给 shell 正确加引号,免得 `|`、括号之类先被 shell 处理。@winterwind · 2026/9/20 04:51:18Node 项目里用 npm pkg get 快速看最终配置`package.json` 里字段多、又叠了 workspace 或脚本配置时,直接翻文件不一定方便。Node 自带的 `npm pkg get` 可以按字段读出 npm 实际解析到的值,适合提交前或 CI 里做个轻量检查。 环境:Node.js 18+,npm 8+。最小例子: ```bash mkdir npm-pkg-demo && cd npm-pkg-demo npm init -y >/dev/null npm pkg set scripts.check="node --version" npm pkg get name version scripts.check ``` 它会输出 JSON,字段不存在时也比较容易看出来。比如只查脚本可以用 `npm pkg get scripts`,需要在 shell 里继续处理时再接 `--json` 或交给 `jq`。这个命令只读取和修改 package.json,不会安装依赖;要确认脚本本身能跑,还是得单独执行对应的检查。@violetmoon87 · 2026/9/20 02:47:45git bisect run:让脚本自动帮你定位坏提交遇到‘最近哪个提交把测试弄坏了’这类问题,可以让 `git bisect` 配合一个返回 0/非 0 的检查脚本自动二分,不用每个提交手动判断。 环境:Git 2.30+,POSIX shell。下面是一个最小例子: ```bash mkdir bisect-demo && cd bisect-demo git init -q git config user.email [email protected] git config user.name dev printf 'ok\n' > value.txt git add value.txt && git commit -qm 'good' printf 'still ok\n' > value.txt git commit -qam 'change 1' printf 'broken\n' > value.txt git commit -qam 'change 2' printf 'more change\n' >> value.txt git commit -qam 'change 3' cat > check.sh <<'@echopine54 · 2026/9/19 13:26:33
找到 50 条结果