javascript - Köra en enradig Typescript-fil utan att transpilera


Jag är nybörjare i TS och vill köra ett program på en rad direkt utan att transpilera via ts-node. Detta är mina specifikationer

Jag körde följande kommando

npm install -g typescript
npm install -g ts-node

Det här är min kod

Console.log("Hello World");

Jag får följande fel

PS G:\New folder> ts-node "g:\New folder\Session1.ts"
(node:5020) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
g:\New folder\Session1.ts:2
export {};
^^^^^^

SyntaxError: Unexpected token 'export'
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1178:20)
    at Module._compile (node:internal/modules/cjs/loader:1220:27)
    at Module.m._compile (C:\Users\user\AppData\Roaming\npm\node_modules\ts-node\src\index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Object.require.extensions.<computed> [as .ts] (C:\Users\user\AppData\Roaming\npm\node_modules\ts-node\src\index.ts:1621:12)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Function.Module._load (node:internal/modules/cjs/loader:960:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at phase4 (C:\Users\user\AppData\Roaming\npm\node_modules\ts-node\src\bin.ts:649:14)

Jag gör ingen import alls, jag tror att det borde fungera utan package.json-fil och även efter att ha lagt till package.json-fil kvarstår problemet fortfarande....Snälla hjälp mig med detta.

Tack

Svar #1

Fortplantning :

  1. Jag har reproducerat felet du upplever genom att initiera ett tomt paket:
    pnpm init
  1. Då har jag lagt till typescript och ts-node-paket.
    pnpm add -D typescript ts-node
  1. Sedan startade skriptet genom att köra:
    pnpm ts-node Session.ts

Lösning :

Byt bara ut ts-node mot node. Det kommer automatiskt att köra ts-node:

    node Session.ts

Dessutom kan du lägga till detta i skripten i din package.json

    {
         "scripts": {
              // Other Scripts
              "dev": "node Session.ts"
         }
    }

Då kan du nu köra ditt skript via:

    npm run dev

Det är också god praxis att använda camel case när du namnger dina skript i TypeScript/JavaScript som sessionIndex.ts. Du kan också kolla denna dokumentation om ditt TS blir större: https://aka.ms/tsconfig.