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",
}