
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该项目是一个Node.js后端栈,可作为独立后端运行,也可与其他前端仓库(如https://github.com/weareopensource/Vue%E3%80%81https://github.com/weareopensource/Swift%EF%BC%89%E9%85%8D%E5%90%88%E6%9E%84%E5%BB%BA%E5%85%A8%E6%A0%88%E5%BA%94%E7%94%A8%E3%80%82%E5%BD%93%E5%89%8D%E6%A0%88%E5%A4%84%E4%BA%8EBeta%E9%98%B6%E6%AE%B5%EF%BC%8C%E6%97%A8%E5%9C%A8%E6%8F%90%E4%BE%9B%E7%AE%80%E5%8D%95%E6%98%93%E7%94%A8%E3%80%81%E6%9B%B4%E6%96%B0%E5%8F%8A%E6%97%B6%E7%9A%84%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%EF%BC%8C%E5%B8%AE%E5%8A%A9%E5%BC%80%E5%8F%91%E8%80%85%E5%BF%AB%E9%80%9F%E5%90%AF%E5%8A%A8%E9%A1%B9%E7%9B%AE%E3%80%82
| 类别 | 详细信息 |
|---|---|
| 已支持 | |
| 架构 | 分层架构:各层分离,上层为下层的抽象,每层仅引用直接下层(采用仓储和服务模式的垂直模块架构) |
| 服务器 | Node >= v14 LTS https://github.com/expressjs/express - https://github.com/expressjs/body-parser - https://github.com/expressjs/compression - https://github.com/expressjs/cors - https://github.com/expressjs/method-override https://github.com/gulpjs/gulp - https://github.com/remy/nodemon |
| 数据库 | Mongo 4.x LTS - https://github.com/Automattic/mongoose - 支持用户、CRUD、种子数据、GridFS上传、认证/SSL等配置 https://github.com/sequelize/sequelize - 支持PostgreSQL、MySQL、SQLite 4.x(可选,含CRUD任务示例) https://github.com/hapijs/joi - 数据库代码抽象的模型与仓储 |
| 测试 | https://github.com/***/jest - https://github.com/visionmedia/supertest - 覆盖率与监听 提供Mocha与gulp配合的示例 |
| 安全 | https://github.com/themikenicholson/passport-jwt - JWT无状态认证 bcrypt - https://github.com/dropbox/zxcvbn - 密码处理 https://github.com/weareopensource/Node/blob/master/WIKI.md#SSL - Express/反向代理(必须启用,否则密码为明文) |
| API | https://github.com/omniti-labs/jsend - 默认响应包装器(助手):包含状态、消息、数据或错误 错误处理助手:由控制器格式化,其他层使用自定义ES6错误 |
| 上传 | Mongo gridfs - https://github.com/lykmapipo/mongoose-gridfs - https://github.com/expressjs/multer - https://github.com/lovell/sharp - 图像流示例,支持所有内容类型(图像、视频等) |
| 日志 | https://github.com/winstonjs/winston - https://github.com/expressjs/morgan - 提供自定义示例 |
| CI | Travis CI - Drone.io |
| 代码检查 | https://github.com/eslint/eslint - 支持ecmaVersion 10(2019) |
| 开发工具 | Coveralls - Code Climate - Dependency status - Dependabot - Snyk https://github.com/conventional-changelog/standard-version / https://github.com/semantic-release/semantic-release - https://github.com/conventional-changelog/commitlint - https://github.com/commitizen/cz-cli - https://github.com/weareopensource/conventional-changelog |
| 依赖管理 | npm |
| 交付 | Docker与Docker-compose |
| 规划中 | |
| 文档 | Swagger Docco |
| 开发工具 | 使用v8内置的debug和inspect选项 |
| API | 演进与版本指南 |
开发机器需安装以下软件:
bashgit clone https://github.com/weareopensource/node.git && cd Node npm i
bashnpm start 或 npm run serve # 启动开发服务器,访问 http://localhost:3000/
bashnpm run prod # 启动生产服务器,访问 http://localhost:3000/
npm run debugnpm testnpm run test:watchnpm run test:coveragenpm run seed:devnpm run seed:prodnpm run seed:mongodump(注意不要上传示例数据到公共仓库)npm run seed:mongorestore(基于_id创建或更新数据,不清除现有数据)npm run seed:mongodropnpm run generate:sslCertsnpm run lintnpm run commitnpm run release -- --first-release(标准版本,生成变更日志、标签并选择版本号,如指定版本:-- --release-as 1.1.1)GITHUB_TOKEN=XXXXX npm run release:auto(语义化发布,生成变更日志、标签和发布,需在package.json中配置repositoryUrl)bashdocker run --env WAOS_NODE_db_uri=mongodb://host.docker.internal/WaosTypescriptDev --env WAOS_NODE_host=0.0.0.0 --rm -p 3000:3000 weareopensource/typescript
如需自行构建镜像:
bashdocker build -t weareopensource/node .
bashdocker-compose up # 启动服务
默认配置文件路径:config/defaults/development.js
其他环境配置文件路径:config/defaults/*.js,可创建自定义配置文件覆盖默认配置。
系统环境变量可覆盖配置,格式为WAOS_NODE_<path_toVariable>。脚本会将此类环境变量转换为对象,推断路径并合并到默认配置中。例如,设置应用标题:
bashWAOS_NODE_app_title='我的应用'
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务