You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js导入express遇SyntaxError: Unexpected token *问题求助

解决ts-node运行TypeScript文件时的import语法错误

我来帮你搞定这个问题~你遇到的SyntaxError: Unexpected token *其实是因为ts-node没有正确解析TypeScript的模块语法,结合你用的Node.js v10.16.3这个版本,试试下面几个靠谱的解决方案:

1. 配置tsconfig.json的模块编译选项

首先确保你的项目根目录有tsconfig.json文件,并且在compilerOptions里设置正确的模块规则,适配Node.js v10的CommonJS模块系统:

{
  "compilerOptions": {
    "module": "CommonJS",
    "target": "ES6",
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true
  },
  "include": ["./server/**/*"]
}
  • module: "CommonJS":告诉TypeScript把ES模块语法转成Node.js支持的CommonJS格式
  • esModuleInterop和allowSyntheticDefaultImports:让TypeScript的import语法能正确兼容Express这类第三方CommonJS模块

2. 运行ts-node时指定tsconfig文件

有时候ts-node可能没自动加载到你的tsconfig,你可以在运行命令时明确指定:

ts-node --project tsconfig.json ./server/server.ts

3. 降级ts-node版本适配Node.js v10

Node.js v10属于比较老的版本,新版本的ts-node已经不再支持它了。你需要安装兼容的ts-node@8.x版本:

# 全局安装
npm install -g ts-node@8.10.2

# 或者本地安装到项目开发依赖
npm install --save-dev ts-node@8.10.2

4. 临时应急方案:改用require语法

如果上面的方案都暂时没法生效,你可以先把TypeScript的import改成CommonJS的require写法应急:

const express = require('express');

内容的提问来源于stack exchange,提问作者Stefano Borzì

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:18:06