Typescript'te Typeings'ten ithal ederken bir Javascript modülünü nasıl kullanırım


Mgechev'in angular2-seed'ini kullanarak, yeni bir proje için Angular2 ve Typescript'i öğrenmeye çalışıyorum, ancak bu sorunla karşılaştım.

Bir bileşende Numeral kullanmak istiyorum, bu yüzden:

  1. Numeral, npm install numeral kullanılarak yüklendi
  2. typings install dt~numeraljs --global --save kullanarak Numeral için yazım kurulumunu yaptım
  3. Bileşenime import { numeral } from '/typings/globals/numeraljs'; ekledim
  4. Aşağıdaki kod satırı eklendi: let num:Number=new Number(numeral().unformat(text));

Şimdiye kadar her şey yolunda. Her şey düzgün bir şekilde transpile oluyor gibi görünüyor. Tarayıcıya gelene kadar, konsolda şunu alıyorum:

Error: XHR error (404 Not Found) loading http://localhost:5555/typings/globals/numeraljs.js(…)

Burada neyi yanlış yapıyorum? Typescript'e gerçek kodun nerede olduğunu söylemek için bir adımı mı kaçırdım?

Cevap #1

Genellikle yapmak istediğiniz şey, paket yerel bir Typescript modülü değilse:

import * as numeral from 'numeral';

Typings klasörü sadece Typescript'e tür tanımlarının ne olduğunu söylemek için vardır, böylece kod vurgulaması ve linting için kullanılabilir. İçe aktarmak istediğiniz gerçek modül node_modules klasöründe bulunur ve adıyla içe aktarılabilir.

Eğer hala numeral modülünü bulamadığı için hata veriyorsa, ekleyebilirsiniz

/// <reference path="typings/globals/numeraljs/numeraljs.d.ts"/>

veya Typescript tanım dosyasının saklandığı her yerde.

İlgili makaleler