Home > Back-end >  How to compile Typescript to JS that uses ES6 modules?
How to compile Typescript to JS that uses ES6 modules?

Time:07-21

My tsconfig.json file contains

{
    "compilerOptions": {
        "module": "esnext",
        "target": "esnext",
    }
}

But the compiled JS files still use exports/require syntax.

How do I fix this?

EDIT:

My directory structure is as follows

- APIs/
  - emails/
    - sendEmail.ts
  - oldFiles/
    - file1.js
    - file2.js
- index.js
- tsconfig.json
- package.json

I am running tsc using the command tsc APIs/emails/sendEmail.ts from the root directory.

CodePudding user response:

Those settings are correct, so most likely you're not actually using that tsconfig.json file. For instance, if you do tsc someFile.ts, tsc doesn't use the tsconfig.json (surprisingly). Your best bet is probably to add an includes to your configuration (so tsc knows what it's compiling) and then compile simply by invoking tsc, which will look for a local tsconfig.json.

{
    "compilerOptions": {
        "module": "esnext",
        "target": "esnext"
    },
    "include": ["**/*.ts"]
}

Then in package.json (for instance):

// ...
"scripts": {
    "build": "tsc"
}
// ...

CodePudding user response:

This config should work. But it's tsconfig.json not tsconfig.js.

  • Related