意外的令牌导入nodejs,typescript

时间:2018-02-12 18:25:50

标签: node.js typescript typeorm

我在项目中使用typescript,gruntjs,typeorm,typeorm-model-generator来开发Web API,当我尝试启动我的应用程序时 我收到一个unexpected token import错误,但那是因为当我必须读取所有我的js文件所在的dist目录时读取我的打字稿文件的位置,并且只有在我添加所需的代码时才会出现此错误建立与我的数据库的连接。

app.ts

export class Server {

 public app: express.Application; 

 public static bootstrap(): Server {
     return new Server();
 }

 constructor() {
    this.app = express();

    this.config();
    this.api();
 }

  private config(): void {
    this.app.use(express.static(path.join(__dirname, "public")));

    this.app.use(logger('dev'));
    this.app.use(bodyParser.json());
    this.app.use(bodyParser.urlencoded({
        extended: true
    }));

    this.app.use(function (error: any,
        request: express.Request, response: express.Response,
        next: express.NextFunction) {
            console.log(error);
            error.status = 404;
            response.json(error);
        });
  }

  private api(): void {
   // code that causes error
   // the output I recieve says
   // ./src/entity/myEntity.ts:1 unexpected token import
   // but if I remove it everything works fine
   typeorm.createConnection().then(async connection => {
        console.log("Conexion establecida");
    }).catch(error => {
        console.log(error)
    });
  }

}

这是我的tsconfig.json

{
    "compilerOptions": {
        "lib": [
            "es5",
            "es6"
        ],
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "rootDir": "src",
        "outDir": "./dist/",
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "sourceMap": false,
        "noImplicitAny": false
    },
    "include": [
        "src/**/*"
    ],
    "exclude": [
        "node_modules",
        "**/*.spec.ts"
    ]
}

我做错了什么?我应该已经自杀了吗。

1 个答案:

答案 0 :(得分:2)

我最近遇到过这个问题。问题可能发生在ormconfig.json。生成的ormconfig.json指向src文件夹中的实体作为要调用的实体,而不是指向dist或build文件夹中的实体js文件。查看我也问过的问题:SyntaxError: Unexpected token import typeORM entity