[過去ログ]
TypeScript part2 [転載禁止]©2ch.net (1002レス)
TypeScript part2 [転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1430386649/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
974: デフォルトの名無しさん [] 2018/02/26(月) 16:47:13 ID:Y4Glcgpd ブラウザで動く個人的なちょっとしたものしか作らなくて、 ライブラリはimportしないで自分でscriptタグで読み込んでるから、 @typesの定義だけ欲しいんだけど、今って中身のないstubばかりで importしないと使えないんだけど、これってどうすればいいのでしょうか? 仕方なくファイルをルートにコピーして、意味がわからないまま export as namespace hogehoge; みたいな文をくっつけたりして 何とか機能するようにしてるけど、非常に困ってます http://mevius.5ch.net/test/read.cgi/tech/1430386649/974
976: デフォルトの名無しさん [sage] 2018/02/26(月) 19:51:46 ID:Y4Glcgpd いろいろやってみたけど、なかなか上手くいかない。 tsc --listFilesってやると、定義自体は読み込めてるようなんだけど、 要するに、d.tsファイルがIsomorphic modules (UMD global)ってやつに対応した書き方になってなくて、 それに対応するためにexport as namespace hogehoge; が必要だったりするらしい https://www.typescriptlang.org/docs/handbook/modules.html#umd-modules http://mevius.5ch.net/test/read.cgi/tech/1430386649/976
978: デフォルトの名無しさん [sage] 2018/02/26(月) 23:16:55 ID:Y4Glcgpd 例えばmomentを使う場合、scriptタグでmoment.jsを読み込んでいれば、 自分のjsではconsole.log(moment().format("YYYYMMDD hh:mm:ss"))みたいに使えます。 そのjsをtypescriptで書こうとした場合、moment()の定義が必要になります。 そこで@types/momentをインストールするわけですが、@typesはオワコンらしく、 実際にはmoment自体のパッケージもインストールされて、その中の定義ファイルが 参照されるようになります。 しかし、自分が使おうとしているmoment()は、トップレベルのwindow.moment()なわけですが、 定義ファイルでは、そのことが考慮されていないために定義を見つけられないようです。 (エラーは出ますが、anyとしてコンパイルはされます。) その定義を見つけらるようにするおまじないが、export as namespace moment;のようです。 結局は、モジュールシステムに合わせた定義ファイルの書き方を 理解している人が少ないのだと思います。 export hogehoge とか export default hogehoge とか export = hogehogeとか わけわかりません。 http://mevius.5ch.net/test/read.cgi/tech/1430386649/978
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.042s