Saya mencoba mengimpor hashids di TypeScript:

Anda dapat mengkloning kode dari di sini

========== index.ts ==========

import Hashids from "hashids";
const encoder = new Hashids();

Tapi saya mendapatkan kesalahan berikutnya:

=========== Konsol =========

export { Hashids as default };
^^^^^^
SyntaxError: Unexpected token 'export'
    at Module._compile (internal/modules/cjs/loader.js:895:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Module.require (internal/modules/cjs/loader.js:852:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/var/www/persona-service/src/Example.ts:1:1)
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Module.m._compile (/var/www/persona-service/node_modules/ts-node/src/index.ts:814:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:995:10)

Ini tsconfig.json saya

{
  "compilerOptions": {
    "incremental": true,
    "moduleResolution": "node",
    "module": "CommonJS",
    "esModuleInterop": true,
    "target": "es6",
    "types": [
      "node",
      "express",
      "hashids"
    ]
  },
  "include": [
    "src/**/*"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts"
  ]
}

Saya juga menggunakan nodemon dengan konfigurasi ini:

{
  "watch" : ["src"],
  "ext": "ts",
  "exec": "ts-node ./src/index.ts"
}

Apa yang bisa terjadi di sini?

0
cstff 13 Maret 2020, 18:34

1 menjawab

Jawaban Terbaik

Memeriksa git repo untuk paket hashid menemukan masalah yang berkaitan dengan impor untuk versi node tertentu:

masalah hashid di repo

Solusi yang disebutkan adalah menggunakan require alih-alih import

const Hashids = require('hashids/cjs');

Saya harap ini membuat Anda kembali ke jalurnya.

2
AimusSage 13 Maret 2020, 16:41