在nodeJs运行环境中,ts文件如何使用ESModule模块引入,以及commonJs和ESModule导出的区别

1,542 阅读1分钟

前置要求

  • 全局安装ts-node
  • 分清CommonJs和ESModule的区别
  • 有Typescript使用经验 (一点就行)

文件目录结构

└─main
        app.ts
        package.json
        tsconfig.json
        yarn.lock

方法1 配置WebPack,使用webpack来启动程序

  • 该方法不详细解释,请自行前往webpack官网查看

方法2 配置package.json

  • package.json中配置type字段的值为 module,本人测试时,只能js文件才生效,所以在此不推荐该方法,有需要的请自行尝试

image.png

方法3 配置tsconfig.json(推荐)

  • tsc --init 初始化配置文件
  • 以下为已配置文件 (删除多余注释)
{
  "compilerOptions": {
    /* Language and Environment */
    "target": "es5",                                     /* 可以改成ESNext或者任意 */
    /* Modules */
    "module": "commonjs",                                /* 不能配成ESNext,其他的请自行实践 */
    /* Interop Constraints */
    "esModuleInterop": true,                             /* 必选项不可更改*/
  }
}

image.png

使用nodemon 启动ts项目