打字稿找不到名字
TypeScript cannot find name
models.d.ts [mongoose.d.ts]
/// <reference path='./../../typings/mongoose/mongoose.d.ts' />
import * as mongoose from 'mongoose';
// Tried `V0`, `V1`, `V2`, `V3` independently. None worked.
/* V0 */
export interface Foo extends mongoose.Document {
name: string;
}
models.ts
/// <reference path='./models.d.ts' />
import * as mongoose from 'mongoose';
export function Foo(model): Foo.Foo /* also tried `Foo` and `models.Foo` */ {
return mongoose.model('Foo', new mongoose.Schema({
name: String
}));
}
More context + attempts (gist).
错误
Cannot find name 'Foo'
如您所见,我什至包括了 reference path
和 tsconfig.json
,但无济于事。如何导入?
避免在外部模块中使用 reference
标签。
干脆去掉reference标签,全部写在models.ts
import * as mongoose from 'mongoose';
export interface IFoo extends mongoose.Document {
name: string;
}
export var Foo: mongoose.Model<IFoo> =
mongoose.model<IFoo>('Foo', new mongoose.Schema({
name: String
}));
var foo0: IFoo = new Foo();
或 foo.ts
中的外部模块 foo
export interface Foo extends mongoose.Document {
name: string;
}
并将其导入 models.ts
import * as mongoose from 'mongoose';
import * as foo from './foo';
export const Foo: mongoose.Model<foo.Foo> =
mongoose.model<foo.Foo>('Foo', new mongoose.Schema({
name: String
}));
models.d.ts [mongoose.d.ts]
/// <reference path='./../../typings/mongoose/mongoose.d.ts' />
import * as mongoose from 'mongoose';
// Tried `V0`, `V1`, `V2`, `V3` independently. None worked.
/* V0 */
export interface Foo extends mongoose.Document {
name: string;
}
models.ts
/// <reference path='./models.d.ts' />
import * as mongoose from 'mongoose';
export function Foo(model): Foo.Foo /* also tried `Foo` and `models.Foo` */ {
return mongoose.model('Foo', new mongoose.Schema({
name: String
}));
}
More context + attempts (gist).
错误
Cannot find name 'Foo'
如您所见,我什至包括了 reference path
和 tsconfig.json
,但无济于事。如何导入?
避免在外部模块中使用 reference
标签。
干脆去掉reference标签,全部写在models.ts
import * as mongoose from 'mongoose';
export interface IFoo extends mongoose.Document {
name: string;
}
export var Foo: mongoose.Model<IFoo> =
mongoose.model<IFoo>('Foo', new mongoose.Schema({
name: String
}));
var foo0: IFoo = new Foo();
或 foo.ts
中的外部模块foo
export interface Foo extends mongoose.Document {
name: string;
}
并将其导入 models.ts
import * as mongoose from 'mongoose';
import * as foo from './foo';
export const Foo: mongoose.Model<foo.Foo> =
mongoose.model<foo.Foo>('Foo', new mongoose.Schema({
name: String
}));