[英]Syntax error: Unexpected token { on executing a TS app
我在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关键字,而是大括号。
请帮我解决这个问题! 提前致谢!
然后,当我在终端中键入“ node app.js”时,出现此错误:
将您的tsconfig module
选项更改为在节点(本机)和浏览器(例如使用webpack)中都可以使用的选项:
"module": "commonjs"
事实证明,基本问题是我正在这样编译:
tsc app
不只是写作
tsc
这导致我的编译类型与同一文件夹中的js混合在一起。
另外,我直接从[name] .ts文件导入,我应该只在其中使用文件名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.