繁体   English   中英

如何从 TypeScript NodeJS 应用程序中的 CommonJS 模块导出 Mongoose 模型

[英]How to export a Mongoose model from a CommonJS module in TypeScript NodeJS app

我在models/user.ts中定义了一个模型

import mongoose = require('mongoose');
var userSchema = new mongoose.Schema({ ... });
var User : mongoose.Model<any> = mongoose.model("User", userSchema);

通常在 JavaScript 中,为了在 NodeJS 应用app.js中使用模型User

在 JavaScript 中,我通常会使用module.exports = User from ./models/user.js ,然后是我想要使用User的文件中的require

例如

var user = require('./models/user')

但是这在 TypeScript 中不被识别(我得到编译器错误),也不是

import User = require("/models/User")

虽然如果我从/models/user.ts导出一个类,比如一个类,这会起作用

export class User { ... }

./models/user.ts导出猫鼬模型并从另一个文件导入它的语法是什么?

从 ./models/user.ts 导出猫鼬模型并从另一个文件导入它的语法?

出口

import mongoose = require('mongoose');
var userSchema = new mongoose.Schema({ ... });
var User : mongoose.Model<any> = mongoose.model("User", userSchema);
export = User;  // EXPORT

导出非类型脚本

import mongoose = require('mongoose');
var userSchema = new mongoose.Schema({ ... });
var User = mongoose.model("User", userSchema);
export default { User };  // EXPORT

进口

import User = require("./models/User"); // Note the `.` to make it relative.

您只想简单地export添加到您的模型中。

import mongoose from 'mongoose';
var userSchema = new mongoose.Schema({ ... });
export default var User : mongoose.Model<any> = mongoose.model("User", userSchema);

或者,如果您想坚持使用 CommonJS 语法,您可以export.modules = User;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM