2016-05-30 42 views
0

我在models/user.ts如何从打字稿的NodeJS应用一个CommonJS的模块

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

通常在JavaScript中定义的模型导出猫鼬模型,以便使用该模型User中的NodeJS应用app.js

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

例如

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

然而,这不是在打字稿承认(我得到transpiler错误),也不是

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

尽管这如果我出口的工作,说A级,来自/models/user.ts

export class User { ... } 

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

回答

1

语法猫鼬模型从./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 User = require("./models/User"); // Note the `.` to make it relative. 
0

您想简单地将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;