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

推荐订阅源

S
Secure Thoughts
Spread Privacy
Spread Privacy
S
Securelist
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Project Zero
Project Zero
G
GRAHAM CLULEY
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
Scott Helme
Scott Helme
S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
The Exploit Database - CXSecurity.com
The Hacker News
The Hacker News
雷峰网
雷峰网
N
News and Events Feed by Topic
宝玉的分享
宝玉的分享
O
OpenAI News
小众软件
小众软件
C
Cybersecurity and Infrastructure Security Agency CISA
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
I
Intezer
Martin Fowler
Martin Fowler
S
Security @ Cisco Blogs
A
Arctic Wolf
Engineering at Meta
Engineering at Meta
U
Unit 42
L
Lohrmann on Cybersecurity
Google Online Security Blog
Google Online Security Blog
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
Schneier on Security
Schneier on Security
V2EX - 技术
V2EX - 技术
IT之家
IT之家
The Register - Security
The Register - Security
T
Tailwind CSS Blog
GbyAI
GbyAI
量子位
人人都是产品经理
人人都是产品经理
Recorded Future
Recorded Future
W
WeLiveSecurity
AWS News Blog
AWS News Blog
B
Blog RSS Feed
腾讯CDC
Hacker News - Newest:
Hacker News - Newest: "LLM"
Microsoft Security Blog
Microsoft Security Blog

webfem

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,转载请注明出处