burada bir kaç sorun yok
: Eğer import * as util
, util
modülü, değil onun içinde bir nesne temsil yaptığınızda
- Sen başlatmasını değiliz şey ve
doSomething
bir örnek yöntemi
- olduğunu. Eğer
Util
istiyorsanız
, sadece o içe olmalıdır: kodunuzu yamalı oluyor İşte
var u = new Util();
u.doSomething("test");
:
import { Util } from './util'
Sonra, nihayet üzerinde yöntemini çağırmadan önce, Util
örneğini gerekir yukarı:
import { Util } from './util'
export class MyClass{
constructor()
{
var u = new Util();
u.doSomething("test");
}
}
Tüm söyledikleriniz, araçlarınızı kullanma şekliniz hakkında garip bir şey var gibi görünüyor. Bu tamamen kişisel bir düşüncedir, ama bir kurucuda "bir şeyler yapmak", yani yan etkilere neden olan yöntemleri çağırmayacağım.
Ayrıca, Util
'daki yöntemler, sınıfa bağlı olmadıkları bir durumda olmadıklarından, bu sınıfta olmaları gerektiği gibi görünmüyor. Her zaman düzenli işlevleri bir modülden dışa aktarabilirsiniz. doğrudan işlevlerini ihraç olurdu ve örnekleme güçlük kaçınmak olur ve olduğu gibi aslında orijinal kodu doğru çalışacak
export function doSomething(val: string) { return val; }
export function doSomethingElse(val: string) { return val; }
: Bu gibi utils modülü yazsaydım.
Şimdi bunu yapmayı tercih ettiğim yol bu. –
Yöntemler statik mi olmalı? Utils sınıfı örneği oluşturulamadı mı? – user728630
@GregGum Vatansızlık işlevlerinizi bir sınıfta sarmak sadece kötü bir fikir çünkü ağaç-sallama gibi modül optimizasyon tekniklerini kırıyor. Her şeyi mümkün olduğunca modülün en üst seviyesine yakın olarak ihraç etmelisiniz. –