TypeScript 2: digitações personalizadas para o módulo npm sem tipo

Depois de tentar sugestões postadas emoutros lugares, Acho que sou incapaz de executar um projeto de texto datilografado que usa um módulo NPM não digitado. Abaixo está um exemplo mínimo e as etapas que eu tentei.

Neste exemplo mínimo, fingiremos quelodash não possui definições de tipo existentes. Como tal, vamos ignorar o pacote@types/lodash e tente adicionar manualmente seu arquivo de digitaçõeslodash.d.ts ao nosso projeto.

Estrutura de pastas

node_moduleslodashsrcfoo.tstipografiaspersonalizadaslodash.d.tsglobalindex.d.tspackage.jsontsconfig.jsontypings.json

Em seguida, os arquivos.

Arquivofoo.ts

///<reference path="../typings/custom/lodash.d.ts" />
import * as lodash from 'lodash';

console.log('Weeee');

Arquivolodash.d.ts é copiado diretamente do original@types/lodash pacote.

Arquivoindex.d.ts

/// <reference path="custom/lodash.d.ts" />
/// <reference path="globals/lodash/index.d.ts" />

Arquivopackage.json

{
  "name": "ts",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "typings": "./typings/index.d.ts",
  "dependencies": {
    "lodash": "^4.16.4"
  },
  "author": "",
  "license": "ISC"
}

Arquivotsconfig.json

{
  "compilerOptions": {
    "target": "ES6",
    "jsx": "react",
    "module": "commonjs",
    "sourceMap": true,
    "noImplicitAny": true,
    "experimentalDecorators": true,
    "typeRoots" : ["./typings"],
    "types": ["lodash"]
  },
  "include": [
    "typings/**/*",
    "src/**/*"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts"
  ]
}

Arquivotypings.json

{
    "name": "TestName",
    "version": false,
    "globalDependencies": {
        "lodash": "file:typings/custom/lodash.d.ts"
    }
}

Como você pode ver, tentei várias maneiras diferentes de importar tipagens:

Importando-o diretamente nofoo.tsPor umtypings propriedade empackage.jsonUsandotypeRoots notsconfig.json com um arquivotypings/index.d.tsUsando um explícitotypes notsconfig.jsonAo incluir otypes diretório emtsconfig.jsonFazendo um costumetypings.json arquivo e em execuçãotypings install

No entanto, quando executo o Typecript:

E:\temp\ts>tsc
error TS2688: Cannot find type definition file for 'lodash'.

O que estou fazendo errado?

questionAnswers(2)

yourAnswerToTheQuestion