2017-02-14 7 views
2

assertモジュールをbrowserify/tsifyバンドルに使いたいです。 https://www.npmjs.com/package/assertおよびhttps://github.com/substack/browserify-handbook#builtinsおよびhttps://nodejs.org/api/assert.htmlを参照してください。一言で言えば、ブラウザ内のnode-js compatible assertモジュールです。つまり、ブラウザ内蔵です。TypeScriptの@Type-style宣言を

@types/assertを追加しました。しかし、宣言モジュールは認識されません(バグのようです)。だからnode_modules/@types/assertの同等物をnode_modulesの外に出そうとしています。node_modulesはソースコントロールに入れてはいけません。

可能ですか?そうでない場合は、/// <reference旧学校の構文か、declare module "assert"か、何を使用すればよいですか?

+0

あなたは、私がsystemjsを使用していないsystemjsまたはCLI – Aravind

+0

を使用している1:

はどのようtsc.d.tsファイルを見つけdeclare module 'assert'のメカニズムは周囲のモジュールと呼ばれるhttps://www.typescriptlang.org/docs/handbook/module-resolution.html

に説明されています。 CLIについてはわかりませんが、CommonJSモジュールにはbrowserifyの組み込みローダーを使用しているようです。 – nponeccop

答えて

0

宣言モジュールには、あなたを想定し、とにかく一見(なし徹底テスト)が、で私にはOKに見えるソース管理下になりますtypings/assert/assert.d.tsディレクトリ/サブディレクトリ/ファイルを作成しますthis library

について話している

assert.d.tsは外部モジュール定義として構成する必要があり、単一シンボルassertをエクスポートします。コンテンツは、単にtypingsディレクトリの内容が含まれていることを確認してくださいtsconfig.json

declare module 'assert' { 

    function assert(value:any, message?:string):void; 

    namespace assert { 

     export function fail(actual?:any, expected?:any, message?:string, operator?:string):void; 

     ... 

    } 

    export = assert 

} 

(あなたが言及した必要な修正を含む)、@タイプ/アサート中に発見されたもののほとんどストレートコピーである(つまり、除外されません)を編集から削除します。

+0

私の質問を明確にしました。それは 'power-assert'ではありませんが、あなたの提案は依然として関連しています – nponeccop

+0

これは、@ types /から読み込まれた定義が' power-assert'のために設計されていることを明らかにしているので、モジュール宣言は "見た目はバギー"と説明します。 –

+0

https:// www.npmjs.com/package/@types/assertは "このパッケージにはアサーションとパワーアサートのための型定義が含まれています"と明確に言われています – nponeccop

関連する問題