[英]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.