【发布时间】:2019-12-14 17:14:52
【问题描述】:
所以我的模块是这样写的
import mongoose from 'mongoose';
export class MyModule {
constructor(){
//do
}
create(str){
mongoose.connect(str); //cannot find property 'connect' of undefined
}
}
使用导入语法时,我收到cannot find property 'connect' of undefined 错误;使用 require 时,它按预期工作。
奇怪的是,通过导入语法导入单个属性按预期工作,
import { connect } from 'mongoose'
但由于某些其他原因,我需要访问整个 ORM。
为什么会这样?难道我做错了什么?公平地说,我在 ES6 模块系统、TypeScript 和 Node.js 方面没有太多经验,所以我可能会在这里遗漏一些东西。
我在 Node.js 上使用 NestJS 在 typescript 文件上运行它。
【问题讨论】:
-
是否在
node_modules中安装了mongoose? npm安装有什么错误吗? -
要清楚,当您将代码示例的第一行替换为
const mongoose = require('mongoose');时,它有效吗?您是否使用 Node.js 执行此代码? -
@nivendha 是的,我已经在我的 package.json 中有它,它也存在于 node_modules 文件夹中
-
@PatrickHund 是的,是的,我正在使用 NestJS 作为框架
-
import * as mongoose from 'mongoose';试试这个
标签: javascript typescript mongoose ecmascript-6 nestjs