5 分钟快速创建 Cloudflare Pages Functions 项目
快速创建 Cloudflare Pages Functions 项目,不使用构建工具,直接徒手创建 ,第三方库尽可能选择 Node.js 原生依赖较少,也不需要特殊构建的纯 JS 的库。在Cloudflare Pages Functions 构建时,可能出现依赖未能正确解析的问题,本文有一些新发现。
December 19, 2025
该项目不使用构建工具,直接手动创建 Cloudflare Pages Functions。
创建新应用程序
- 新建文件
例如 /blueseo-pages
- 新建首页 HTML 文档
// index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Pages 示例</title>
</head>
<body>
<h1>欢迎来到我的网站!</h1>
<p>该页面不使用构建工具,直接手动创建 Cloudflare Pages Functions。</p>
</body>
</html>
- 启动本地开发服务器
// 安装 Wrangler CLI(可选)
npm install -g wrangler
// 目录内右键选择在终端打开
wrangler pages dev . --compatibility-date 2025-09-02
4.创建函数文件
// 新建文件 functions/index.js
export async function onRequest(context) {
return new Response( "Hello from Cloudflare Pages Function!" );
}
- 重启本地服务器
// 重启服务器
wrangler pages dev .
版本增强
- 创建
wrangler.jsonc
// wrangler.jsonc
{
"name": "blueseo-pages",
"compatibility_date": "2025-09-01",
"compatibility_flags": [
"nodejs_compat"
],
"pages_build_output_dir": "./",
"observability": {
"enabled": true
},
"placement": {
"mode": "smart"
},
"vars": {}
}
- 创建
package.json
// 自动创建
npm init -y
// 初始化
npm install
scripts 中增加脚本(可选)
{
"dev": "wrangler pages dev",
"deploy": "wrangler pages deploy",
}
- 创建版本管理
// .gitignore
# Dependency directories
node_modules/
# Optional npm cache directory
.npm
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# wrangler
.wrangler
安装数据库
例如 blueseo-db
- 创建
SQL脚本
将制作好的 schema.sql 以及 triggers.sql,复制到根目录 sql。
- Wrangler 应用脚本
// 创建数据库(本地+远程同步)
npx wrangler d1 create blueseo-db
// 本地应用
npx wrangler d1 execute blueseo-db --local --file=./sql/schema.sql
// 本地查询
npx wrangler d1 execute blueseo-db --local --command="SELECT name FROM sqlite_master WHERE type='table'"
// 远程应用
npx wrangler d1 execute blueseo-db --remote --file=./sql/schema.sql
// 远程查询
npx wrangler d1 execute blueseo-db --remote --command="SELECT name FROM sqlite_master WHERE type='table'"
Wrangler应用触发器
// 本地应用
npx wrangler d1 execute blueseo-db --local --file=./sql/triggers.sql
// 本地查询
npx wrangler d1 execute blueseo-db --local --command="SELECT name, sql FROM sqlite_master WHERE type = 'trigger'"
// 远程应用
npx wrangler d1 execute blueseo-db --remote --file=./sql/triggers.sql
// 远程查询
npx wrangler d1 execute blueseo-db --remote --command="SELECT name, sql FROM sqlite_master WHERE type = 'trigger'"
安装其他库
第三方库尽可能选择 Node.js 原生依赖较少,也不需要特殊构建的纯 JS 的库(可选)。
// 安装 dayjs 及其相关插件
npm install dayjs
// 安装 Markdown 解析库
npm install marked
部署配置
- 框架预设:无
- 构建命令:空
- 构建输出目录:/
重点:如含有 node_modules 依赖,构建命令设置为 npm install,否则为空