TypeError: Cannot read properties of undefined (reading 'config')

编程入门 行业动态 更新时间:2024-10-10 15:18:21

TypeError: Cannot read <a href=https://www.elefans.com/category/jswz/34/1771261.html style=properties of undefined (reading 'config')"/>

TypeError: Cannot read properties of undefined (reading 'config')

这是我的

app.ts
文件:

import express, { Request, Response } from "express";
import dotenv from "dotenv";
dotenv.config();
import config from "config";
import responseTime from "response-time";
import connect from "./utils/connect";
import logger from "./utils/logger";
import routes from "./routes";
import deserializeUser from "./middleware/deserializeUser";
import { restResponseTimeHistogram, startMetricsServer } from "./utils/metrics";
import swaggerDocs from "./utils/swagger";

const port = config.get<number>("port");

const app = express();

app.use(express.json());

app.use(deserializeUser);

app.use(
  responseTime((req: Request, res: Response, time: number) => {
    if (req?.route?.path) {
      restResponseTimeHistogram.observe(
        {
          method: req.method,
          route: req.route.path,
          status_code: res.statusCode,
        },
        time * 1000
      );
    }
  })
);

app.listen(port, async () => {
  logger.info(`App is running at http://localhost:${port}`);

  await connect();

  routes(app);

  startMetricsServer();

  swaggerDocs(app, port);
});

我确实收到此错误消息:

yarn dev
yarn run v1.22.17
warning package.json: License should be a valid SPDX license expression
warning ..\..\..\..\package.json: No license field
$ ts-node-dev --respawn --transpile-only src/app.ts
[INFO] 14:02:52 ts-node-dev ver. 1.1.8 (using ts-node ver. 9.1.1, typescript ver. 4.6.3)
TypeError: Cannot read properties of undefined (reading 'config')
    at Object.<anonymous> (C:\Users\A\Desktop\desktop\base_code\back_bc_node\src\app.ts:3:8)
    at Module._compile (node:internal/modules/cjs/loader:1103:14)
    at Module._compile (C:\Users\A\Desktop\desktop\base_code\back_bc_node\node_modules\source-map-support\source-map-support.js:568:25)
    at Module.m._compile (C:\Users\A\AppData\Local\Temp\ts-node-dev-hook-16796532812275466.js:69:33)
    at Module._extensions..js (node:internal/modules/cjs/loader:1155:10)
    at require.extensions.<computed> (C:\Users\A\AppData\Local\Temp\ts-node-dev-hook-16796532812275466.js:71:20)
    at Object.nodeDevHook [as .ts] (C:\Users\A\Desktop\desktop\base_code\back_bc_node\node_modules\ts-node-dev\lib\hook.js:63:13)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
[ERROR] 14:02:52 TypeError: Cannot read properties of undefined (reading 'config')

为什么我会收到此错误消息?我已经使用

dotenv  version 10
将此代码与我以前的应用程序一起使用,但是当我使用
dotenv    version 16
将它复制到我的新应用程序中时,我收到此错误消息。

这是我的

package.json
文件:

{
  "name": "back_bc_node",
  "version": "1.0.0",
  "main": "index.js",
  "license": "Commercial",
  "scripts": {
    "dev": "ts-node-dev --respawn --transpile-only src/app.ts",
    "build": "tsc"
  },
  "dependencies": {
    "bcrypt": "^5.0.1",
    "config": "^3.3.7",
    "cors": "^2.8.5",
    "dayjs": "^1.11.0",
    "dotenv": "^16.0.0",
    "express": "^4.17.3",
    "jsonwebtoken": "^8.5.1",
    "lodash": "^4.17.21",
    "mongoose": "^6.2.10",
    "nanoid": "^3.3.2",
    "pino": "^7.10.0",
    "pino-pretty": "^7.6.1",
    "prom-client": "^14.0.1",
    "response-time": "^2.3.2",
    "swagger-jsdoc": "^6.2.0",
    "swagger-ui-express": "^4.3.0",
    "zod": "^3.14.4"
  },
  "devDependencies": {
    "@types/bcrypt": "^5.0.0",
    "@types/body-parser": "^1.19.2",
    "@types/config": "^0.0.41",
    "@types/cors": "^2.8.12",
    "@types/express": "^4.17.13",
    "@types/jsonwebtoken": "^8.5.8",
    "@types/lodash": "^4.14.181",
    "@types/nanoid": "^3.0.0",
    "@types/node": "^17.0.23",
    "@types/pino": "^7.0.5",
    "@types/response-time": "^2.3.5",
    "ts-node-dev": "^1.1.8",
    "typescript": "^4.6.3"
  }
}
回答如下:

尝试替换:

import dotenv from "dotenv";

为此:

import * as dotenv from 'dotenv'

更多推荐

TypeError: Cannot read properties of undefined (reading 'config')

本文发布于:2024-05-13 15:09:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1759793.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:properties   read   TypeError   undefined   config

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!