[英]Javascript ES6 modules name resolution
我絕對確定,我在問一個愚蠢的問題,但我真的不明白這行代碼是如何工作的
import React from 'react';
我的問題:誰和在哪里搜索'react'
名稱?
例如,這個站點告訴我,對於module-name
,我應該使用絕對路徑的相對路徑,例如
import React from './react';
或者
import React from '/home/user/react';
我認為'react'
與'./react'
相同,但我通過create-react-app
命令創建了 ReactJS 應用程序,但在應用程序文件夾中沒有找到任何名為react.js
的文件。
因此,顯然有一些工具或規則已將模塊名稱解析為正確的文件,但我找不到關於此的正確文檔。
導入語句是從應用程序的node_modules
目錄中按名稱導入包,當您在應用程序中運行npm install
或yarn
等安裝命令時,它們會保存在該目錄中。
當你寫:
import React from 'react';
就您而言,就好像您寫過:
import React from './node_modules/react/index.js';
通過 package 名稱導入意味着您不必知道給定 package 的結構或node_modules
目錄相對於 javascript 文件的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.