Nic*_*ges 17 mongoose mongodb node.js express typescript
我是 Node.js 的新手,正在尝试使用 TypeScript 构建一个 node/express/mongoose 服务器应用程序。
这是我的 app.ts 文件:
// lib/app.ts
import express from 'express';
import * as bodyParser from 'body-parser';
import { Routes } from './routes/crmRoutes';
import * as mongoose from "mongoose";
class App {
public app: express.Application;
public routePrv: Routes = new Routes();
public mongoUrl: string = 'mongodb://localhost/TodosDB';
constructor() {
this.app = express();
this.config();
this.routePrv.routes(this.app);
this.mongoSetup();
}
private mongoSetup(): void {
mongoose.connect(this.mongoUrl, {
useNewUrlParser: true,
useUnifiedTopology: true
});
}
private config(): void {
// support application/json type post data
this.app.use(bodyParser.json());
//support application/x-www-form-urlencoded post data
this.app.use(bodyParser.urlencoded({ extended: false }));
}
}
export default new App().app;
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试编译我的应用程序时,我得到:
TypeError: mongoose.connect is not a function
Run Code Online (Sandbox Code Playgroud)
我已经用完了我所有的谷歌技能——不走运。
谁能告诉我我做错了什么?
小智 19
代替:
import * as mongoose from "mongoose";
Run Code Online (Sandbox Code Playgroud)
和:
import mongoose from "mongoose";
Run Code Online (Sandbox Code Playgroud)
sff*_*ffc 17
这对我有用:替换
import * as mongoose from "mongoose";
Run Code Online (Sandbox Code Playgroud)
和
import mongoose = require("mongoose");
Run Code Online (Sandbox Code Playgroud)
如果您"esModuleInterop": true,在 tsconfig.json 中,它会强制您以不同方式导入 mongoose,因此请更改上述选项或更改导入 mongoose 的方式
| 归档时间: |
|
| 查看次数: |
12602 次 |
| 最近记录: |