我注意到React可以这样导入:
import * as React from 'react';
...或者这样导入:
import React from 'react';
第一种方式导入了react模块的所有内容(参见:导入整个模块的内容)
第二种方式只导入了default模块导出(参见:导入默认导出)
这两种方式似乎是不同且根本上不兼容的。
为什么它们都能工作?
请参考源代码并解释机制...我对了解这是如何工作感兴趣。
更新
这不是一个重复的问题,不同于“import * as react from 'react' vs import react from 'react'的区别”
那个问题是通过一般的ES6模块信息回答的。
我问的是使react模块能够这样工作的机制。它似乎与源代码中的“hacky”导出机制有关,但不清楚它如何使导入整个模块和只导入默认导出到React的两种方式都能与转译JSX等工作。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号