Hydrogen
这个无服务器框架可以创建能在任何地方运行的网络服务器。
特性
- 🐇 通过热模块替换(HMR)实现快速开发 🔥
- 📦 开箱即用支持 CommonJS(.js .cjs)、ES 模块(.mjs)和 TypeScript(.ts)函数。
- 🧸 几乎不需要任何配置。
- 🗄️ 自带内置的、即用型文本数据库和文件 API。
- 📁 遵循直观的目录结构约定。
- 🤏 使用纯 JavaScript 编写,设计简洁精致。
- ⚡️ 针对运行时性能进行优化,无论是开发还是生产环境。
- 🧊 兼容并能够在 AirCode 平台上无缝运行您的应用。
入门指南
- 创建一个 aircode 应用
npx create-aircode-app@latest my-aircode-app && cd my-aircode-app
- 安装依赖并运行
npm i && npm start
目录结构
默认的项目目录结构非常简单。
├──functions # 在这里放置您的函数 API。
│ └── hello.js # http://localhost:3000/hello
├──public # 在这里放置您的静态资源。
│ └── favicon.ico # http://localhost:3000/public/favicon.ico
└── package.json
构建云函数
您可以在 ./functions
目录中轻松构建您的函数 API。
- 使用
*.js
或*.cjs
// myfun.js
const aircode = require('aircode');
module.exports = async function(params, context) {
console.log('接收到的参数:', params);
return {
message: '你好,AirCode。'
};
}
- 或使用
*.mjs
import aircode from 'aircode';
export default async function (params, context) {
console.log('接收到的参数:', params);
return {
message: '你好,AirCode。',
};
};
- 或使用
*.ts
import aircode from 'aircode';
export default async function (params: any, context: any) {
console.log('接收到的参数:', params);
return {
message: '你好,AirCode。',
};
};
只需访问 http://localhost:3000/<您的函数名>
即可使用您构建的函数。
访问 http://localhost:3000/public/<您的静态文件>
即可访问您的静态资源。
文档
配置
您可以通过 process.env 传递一些选项。
process.env.AC_FAAS_ROOT = process.env.AC_FAAS_ROOT || 'functions';
process.env.AC_PUBLIC_DIR = process.env.AC_PUBLIC_DIR || 'public';
process.env.AC_PORT = process.env.AC_PORT || 3000;