所以我把我的模块写成这样
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方面没有太多经验,所以我可能在这里缺少一些东西。
我正在使用 typescript 文件的NestJS在Node.js上运行此脚本。
最佳答案
ES15(NodeJS)
const mongoose = require('mongoose');
然后使用 mongoose.connect ES16(导入/导出)
import * as mongoose from `mongoose`;
然后使用 mongoose.connect 要么
import {connect} from `mongoose`;
然后使用直接连接关于javascript - 在使用导入语法时未定义 Mongoose ,在使用require时未定义 Mongoose ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57388095/