惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
Jina AI
Jina AI
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
Last Week in AI
Last Week in AI
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
WordPress大学
WordPress大学
博客园 - 聂微东
月光博客
月光博客
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog

webfem

如何解决 Unexpected token = Turn Videos into AI Video Prompts:把视频变成可复用创意库 写作平台字数怎么算?公众号、论文和网文的统计口径 字数、字符数和英文单词数有什么区别?一次说清统计口径 中文字数统计是否包括标点?不同场景的计算口径说明 react-virtualized AutoSizer 实现原理详解 - webfem JWT技术详解:从入门到精通 - webfem 如何在电脑上调试手机网页 - webfem react-virtualized 的用法详解 - webfem MongoDB 入门详解 - webfem react-virtualized 无限列表图片闪屏问题修复 - webfem 博客搭建-创建文章接口 - webfem 代码相似性检查机制 - webfem WebSocket 技术详解:实时通信的利器 - webfem 小米YU7购车记-新能源购置税计算器的诞生 - webfem 手动搭建个人博客 - webfem Base64编码详解:原理、应用与实践 - webfem 字数统计算法深度解析:从Unicode到实际应用的硬核技术实现 - webfem 衬线体与无衬线体:字体设计的经典对决 - webfem 如何把 小程序 转换为 VUE - webfem 性能优化-核心指标-FP - webfem MD5算法原理及其实现 - webfem 性能优化-核心指标-SI 的介绍与优化 - webfem 如何设计一个后端管理平台 - webfem
博客搭建-项目工程搭建 - webfem
yimin,2316114920@qq.com · 2025-10-04 · via webfem

前言

上节课,我们已经为搭建博客准备了一系列的工具,从这里开始,我们正式开始搭建项目工程。

为了方便演示整个项目,我创建了 github 项目,https://github.com/workerfe/website-tech,可以在这里查看整个工程,每个章节我会设置不同的分支,大家可以通过切换分支查看整个开发过程。

项目工程架构

我们的项目,分为服务端、前端项目和管理端三个模块。因此,这里准备采用 Monorepo 架构,将这三个模块都放在同一个仓库中。

Monorepo 的具体架构实现,可以看看我之前的文章使用 pnpm 搭建 Monorepo 仓库

同时,为了提供更好的SEO体验,我们将使用 EJS 模版,来渲染前端项目的页面。

因此,我们需要的子仓库只需要两个 admin 和 server,整体结构如下:

项目工程结构图

搭建 Pnpm 工程

还是参考之前的文章使用 pnpm 搭建 Monorepo 仓库,来搭建我们的项目工程。

  1. 项目初始化
# clone 项目
git clone https://github.com/workerfe/website-tech.git
cd website-tech

# pnpm 初始化项目
pnpm init
  1. 搭建 pnpm Monorepo
# 新建 pnpm Monorepo 目录
mkdir apps
mkdir apps/admin
mkdir apps/server

# 生成 pnpm-workspace.yaml 文件
touch pnpm-workspace.yaml
echo "packages:
  - 'apps/*'" > pnpm-workspace.yaml
  1. 项目配置

3.1 项目配置包括 .gitignore 文件,用于忽略一些文件,例如 node_modules 目录。

# 新建 .gitignore 文件
touch .gitignore
echo "node_modules" > .gitignore

3.2 增加 eslint 和 prettier 配置,用来规范代码风格

# 新建 eslint 配置文件
touch .eslintrc.js
echo "module.exports = {}" > .eslintrc.js

# 新建 prettier 配置文件
touch .prettierrc.js
echo "module.exports = {}" > .prettierrc.js

lint 相关的依赖包下:

# 安装 ESLint 和相关依赖
pnpm add -D eslint @babel/eslint-parser eslint-config-alloy eslint-plugin-prettier -w

# 安装 Prettier
pnpm add -D prettier -w

# 如果需要 Babel 核心包(@babel/eslint-parser 的依赖)
pnpm add -D @babel/core -w

具体的配置都在 github 仓库中,不再文档赘述。

  1. 生成服务端项目
# 进入 server 目录
cd apps/server

# 生成 express 项目
express -e


# pnpm 安装依赖
pnpm install
  1. 生成服务端启动命令

在项目根目录的 package.json 中添加启动脚本:

{
  "scripts": {
    "start": "cd apps/server && node ./bin/www",
  },

}

最后,我们可以通过 npm start 来启动服务端项目,默认会监听 3000 端口,访问 http://localhost:3000/ 即可

至此,我们已经完成了服务端项目的搭建。前端项目比较麻烦,我们后续再搭。

原文地址:https://webfem.com/post/website-0,转载请注明出处