我在TypeScript中有以下代码:
import { Document, Schema, Model, model } from "mongoose";
import { IUser } from "../interfaces/IUser";
export interface IUserModel extends IUser, Document {
}
var UserSchema: Schema = new Schema({
name: String,
username: String,
password: String,
email: String
});
export const User: Model<IUserModel> = model<IUserModel>("User", UserSchema);
然后我在控制器中使用它 . 当我编译我的TS应用程序(tsc app.ts)时,它编译得很好 . 然后,当我在终端中键入“node app.js”时,我收到此错误:
..\BlocG\models\user.ts:1
(function (exports, require, module, __filename, __dirname) { import { Document, Schema, Model, model } from "mongoose";
^
SyntaxError: Unexpected token {
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:656:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
at Object.<anonymous> (E:\Business\Cevian\CevianPrep\BlocG\data\db.ts:26:1)
at Module._compile (internal/modules/cjs/loader.js:688:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
让它更奇怪的是我在控制器中有这样的导入:
import { Router, Request, Response } from 'express';
import { IUserModel } from '../models';
......它编译没有问题 . 我曾经没有任何问题地执行逻辑 .
请注意,错误不是指向import关键字,而是指向大括号 .
请帮我解决这个问题!提前致谢!
1 回答
将您的tsconfig
module
选项更改为在节点(本机)和浏览器(使用例如webpack)中都可以使用的选项: