簡體   English   中英

Javascript ES6模塊名稱解析

[英]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 installyarn等安裝命令時,它們會保存在該目錄中。

當你寫:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM