WebGis 平台搭建(一):Node.js 服务器设置
第一次使用Express
框架搭建Node.js
服务器,然后连接MongoDB
数据库
Node.js 服务器
使用Node.js
技术构建的服务器。Node.js
是一个基于Chrome V8 JavaScript
引擎的JavaScript
运行环境,它允许在服务器端运行JavaScript
代码。使用Node.js
,开发者可以构建快速的、可扩展的网络应用程序。Node.js 的特点包括非阻塞 I/O 和事件驱动,这使得它特别适合处理大量并发连接,例如在 Web 应用程序、实时通信系统和云服务中。
Express
Express
是一个灵活的Node.js Web
应用程序框架,提供了一系列强大的特性帮助创建各种Web
和移动设备应用。它被设计为简单和灵活,使得Node.js
的Web
应用程序开发变得更加快速和容易。
搭建步骤
导入并创建 Express 应用
tsimport express from "express"; const app = express();
使用中间件解析 Json
ts// 解析客户端发送的application/x-www-form-urlencoded格式的请求体 app.use(express.urlencoded({ extended: false })); // 解析JSON格式的请求体 app.use(express.json()); // 初始化Passport.js,用于身份验证。 app.use(passport.initialize());
定义路由
将所有以/api/users
开头的URL
路径的请求委托给users
路由处理器ts// 使用routers app.use("/api/users", users);
设置端口与启动服务器
tsconst port = process.env.PORT || 5050; app.listen(port, () => { console.log(`Server running on port ${port}`); });
服务器启动
开始是想用nodemon
进行服务器启动,但一直会报错
sh
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts"
查了一下发现是因为nodemon
默认只识别JavaScript
文件, 使用ts
文件需要使用 TypeScript
编译器(tsc)
将TypeScript
代码编译为 JavaScript
,或者使用一个工具如ts-node
来直接运行TypeScript
代码 后面,改用了ts-node
也报了同样的错误,上网搜了一下,发现使用npx tsx
可以成功运行,所以改成了这样
sh
>nodemon --exec tsx server.ts
或者
>npx tsx server.ts
就可以成功启动了
文件配置
最后在package.json
中配置,后续使用npm start
就可以了
json
"version": "0.0.0",
"scripts": {
"start": "npx tsx server.ts",
}