私はテキストエディタとしてAtomを使用してTypescriptでプロジェクトを構築しています。 atom-typescriptがインストールされています。これは自分のコードを自動的にJavaScriptにコンパイルしています。Typescriptには拡張メソッドが含まれています
私がしようとしているのは、文字列型に新しい拡張メソッドを定義して、nullか空白かを判断することです。私は単一の関数をエクスポートするメインファイルと、それを検証しようとしているモカテストがすべて動作しています。ここでString.isNullOrEmpty is not a function
は私stringExtensions.ts
です:
main.ts
で
interface StringConstructor {
isNullOrEmpty(str: string): boolean;
}
String.isNullOrEmpty = function(str: string): boolean{
return (!str || 0 === str.length);
}
私は次のコードを持っている:main.spec.ts
で
///<reference path="extensions/stringExtensions.ts"/>
export function checkForUpdate(){
if(String.isNullOrEmpty(location)){
/* Do Stuff */
}
を私はに実行しています問題は、モカは型エラーを投げているということです
import {checkForUpdate} from "../lib/update"
describe("test",()=>{
if("should do something",()=>{
checkForUpdate();
})
})
拡張ファイルからメインファイルに自分のコードをコピーすると、すべて正常に動作しているので、これは参照の問題です。 Atom-typescriptはエラーを投げていないので、コードをうまく見つけることができ、すべてが終わりに良く見えます。
参照が正しく機能するためには、どのような変更が必要ですか。私はコンパイルされたJavaScriptコードを見ていて、参照コマンドからのインポート命令はありません。そこにあるはずですか?