---
title: "Posts — Page 8 - Benjamin"
description: "A place where I share my thoughts and learnings 💭 Page 8 of 9."
url: "/page/8"
canonical_url: "https://bfzli.com/page/8"
source_url: "https://bfzli.com/page/8.md"
type: "prose"
updated: "2026-10-23"
---

> Markdown copy of https://bfzli.com/page/8. Append `.md` to any page path on bfzli.com for its markdown twin. Full index: https://bfzli.com/llms.txt

# Posts — page 8 of 9

- [Express Returns req.body Undefined When JSON Middleware Runs Too Late](https://bfzli.com/express-returns-req-body-undefined-when-json-middleware-runs-too-late.md) — Fix req.body staying undefined in Express by placing JSON parsing middleware before your route handlers.
- [Deploying a Static Site to GitHub Pages Breaks Asset URLs Under a Repository Path](https://bfzli.com/deploying-a-static-site-to-github-pages-breaks-asset-urls-under-a-repository-path.md) — Why a site works locally but 404s on GitHub Pages when assets resolve from the domain root instead of the repo path.
- [Design a TypeScript SDK with Multiple Entry Points Without Breaking Imports](https://bfzli.com/design-a-typescript-sdk-with-multiple-entry-points-without-breaking-imports.md) — How to publish a typed SDK with subpath exports, preserved types, and stable import paths for ESM and CommonJS.
- [Remix Returns 405 Method Not Allowed When a Form Submits to the Wrong Route](https://bfzli.com/remix-returns-405-method-not-allowed-when-a-form-submits-to-the-wrong-route.md) — Why a Remix form posts to a route without an action and how route matching determines which loader or action runs.
- [Node Fails to Connect to localhost with ECONNREFUSED ::1 on a Local Server](https://bfzli.com/node-fails-to-connect-to-localhost-with-econnrefused-1-on-a-local-server.md) — Why Node tries IPv6 loopback first for localhost and how to match your server bind address to the resolved address.
- [React Native on Android Throws ReferenceError: window is not defined During Module Initialization](https://bfzli.com/react-native-on-android-throws-referenceerror-window-is-not-defined-during-module-initialization.md) — Why browser globals break during React Native startup on Android and how to move that code behind a native-safe boundary.
- [Bun Throws ERR_REQUIRE_ESM When a CommonJS File Loads an ESM Package](https://bfzli.com/bun-throws-err-require-esm-when-a-commonjs-file-loads-an-esm-package.md) — Why Bun hits ERR_REQUIRE_ESM on mixed module boundaries and how to make the import path match the package format.
- [Next.js Environment Variables Return Undefined in the Browser After Build](https://bfzli.com/next-js-environment-variables-return-undefined-in-the-browser-after-build.md) — Why process.env values disappear in client code after a Next.js production build, and how to expose the right variables safely.
- [Cloudflare Workers Reject POST Requests with a CORS Preflight Failure](https://bfzli.com/cloudflare-workers-reject-post-requests-with-a-cors-preflight-failure.md) — Return the right CORS headers from a Worker so browser preflight requests stop failing.
- [Deno Cron Tasks See DENO_ENV Undefined in Scheduled Runs](https://bfzli.com/deno-cron-tasks-see-deno-env-undefined-in-scheduled-runs.md) — Make scheduled Deno jobs read environment variables reliably instead of getting undefined at runtime.
