typescirpt環境でReactを使っています。
エディタはVisual Studio Codeを使用しています。
reactを使用するために.tsxファイルでimportします。
tsx
1import React from 'react';
このとき'react'にマウスオーバーすると、
VSCode
1module "hogehoge/node_modules/@types/react/index"
と表示されます。
node_modules/@types
以下のフォルダはtypescript用の型定義ファイル群が置かれているのみで、
実体ファイルは別にインストールする必要があるという理解をしています。
そのため'react'にマウスオーバーした場合は、
VSCode
1module "hogehoge/node_modules/react/index"
上記のように表示されるのが正しいと思うのですが、何か理解に間違いはあるでしょうか。
PhpStormでも確かめてみました。
'react'にカーソルをあわせてcommandを押しながらクリックすると、
Choose declarationという表示がなされindex.jsとindex.d.tsと大量のDraft**ファイルが表示されました。
react本体はnode_modules/reactだと思うのですが、Javascriptはどう判断しているのでしょうか。
tsx
1import React from 'react';
でなぜnpmライブラリを使えるのかがいまいちわかっていません。
package.json
でmain指定されているファイルにおいて、
module.exports
しているものがimportできるのはわかるのですが、
なぜnode_modulesフォルダ以下だとimport文だけでJavaScriptは判断できるのでしょうか。
私としては相対パスを指定する必要があるように思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。