ts-node的一些问题

993 阅读1分钟

写ts的时候,ts-node执行文件时可能会遇到一些文件引入的问题,注意几个设置项。

  1. package.json的type字段有两个取值module和commonjs,表明无扩展名文件的模块形式

    1.1 module为es6模块,用import/export来引入

    1.2 commonjs为commonjs模块,用require来引入

    不设置的话默认为commonjs,所以不能使用import来引入其他模块

  2. tsconfig.json compilerOptions 相关编译选项

    2.1 target: 编译后的语言,es5,es6,esnext等等

    2.2 module: 编译后的模块形式,commonjs/esnext等

    2.3 esModuleInterop: 是否允许export=导出,import from导入

    2.4 moduleResolution: 模块解析策略,classic或者node

     2.4.1 classic就是es2015和之前的解析策略,import一个文件时从当前目录逐层向上查找
     
     2.4.2 node是nodejs的解析策略,当前目录查找xxx.ts,没有的话就查找xxx目录和xxx目录下的package.json指定的入口文件,还没有的话就查找xxx/index.ts隐式入口文件
    
  3. tsconfig.json files 编译文件入口 这里包含了一个入口文件列表,编译时会自动查找依赖的文件进行编译

具体的tsconfig.json的配置参考www.tslang.cn/docs/handbo…