node.js - Typescript-fel Kan inte hitta modul 'typescript-Collections' när man ändrar modulen till "umd" eller "amd" i tsconfig.json


Jag använder VS17 Enterprise. Jag kan enkelt importera "typescript-collections" (som instruerat på denna sida) om jag hade ställt in mitt module-alternativ till commonjs i min tsconfig.json.

Men så fort jag ändrar det till "umd" eller "amd" får jag ett fel (se skärmdumpen, tack) som säger att Kan inte hitta modulen 'typescript-collections' och därför kommer de två variablerna queue och queue1 att vara av typen any. Jag har också bifogat min tsconfig.json.

All hjälp kommer att uppskattas mycket.

Svar #1

Från och med idag kvarstår detta problem med detta paket och min lösning var att använda es6 som min modul

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "types": [],
    "module":"es6"
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}

och sedan importera klasserna med notation som nedan -

import * as Collections from 'typescript-collections/src/lib';

Det verkar finnas ett problem med denna beroendepaketering.

Svar #2

Jag löste ett liknande problem genom att uttryckligen ange moduleResolution-kompilatoralternativet.

{
    "compilerOptions":
    {
        "moduleResolution": "node"
    }
}

Tydligen är moduleResolution automatiskt inställt på "node", om module är inställt på "commonjs". Typescript-kompilatorn verkar annars använda en annan upplösningsstrategi.

Ett inlägg i en GitHub-ärendetråd ledde mig till den här idén.