2016-03-04 15 views
6

: düzgün yapılı çıkış fonksiyonları ikenNeden typescript 'node_modules' içine yüklenen modüller bulamıyorum? Aşağıdaki dizin yapısı göz önüne alındığında

{project}/ 
    |-- node_modules/ 
    | |-- lodash 
    |-- src/ 
    | |-- index.ts 
    |-- lib/ (output) 
    | |-- index.js 
    | |-- index.d.ts 
    |-- package.json 
    |-- tsconfig.json 

; Benim 'tsconfig.json' dosyasına ben dahil ettik İçinde şunları

import _ from "lodash"; 
import _ = require("lodash"); 
import * as _ from "lodash"; 

:

... 

"target": "es6", 
"sourceMap": true, 
"module": "commonjs", 
"moduleResolution": "node", 

... 

Ama rağmen tsc komut ben Aşağıdakilerden herhangi kullandığınızda o lodash modülünü çözemezse şikayet Bu hala npm kullanılarak yüklenen modüllerden hiçbirini bulamıyor.

Ben typescript bu modülleri bulmak yapmak için gerekli olan bir şey eksik?

bir typescript tanım dosyası typescript için ek tipi kontrolleri temin etmek mümkün olduğunu fark; bununla birlikte, bunlar sadece any türünün sağında varsayılan olarak mı olmalıdır? lodash node_modules/lodash klasöründe bir tanım dosyası olmadığından

+1

veya daha yüksek. İşte [iyi tartışma] şeklindedir (https://medium.com/@mweststrate/how-to-create-strongly-typed-npm-modules-1e1bda23a7f4#.ci86154ph) o öncesinde 1.6 için ve nasıl "çalıştı" nasıl sonra çalışır. –

cevap

5

, bu işe yaramaz. ederdiniz node.js için

declare var _: any; 

kullanmak: Bunu typings kullanarak indirmek veya bunun yerine ithalat bir ortam beyanı kullanmak gerekecektir Eğer typescript 1.6 olduğundan emin olun

var _ = require('lodash'); 
İlgili konular