reactjs 当说进口时,从“react”开始; React是从哪里进口的?

7eumitmz  于 2022-12-18  发布在  React
关注(0)|答案(2)|浏览(156)

似乎没有对应的文件夹或文件名为'react'。也许使用npm启动给JSX文件访问'react',我不知道'react'在哪里。
基本上,“react”在哪里?
我查看了node_modules文件夹,有一个名为react的子文件夹,但是没有名为React的文件。
从“React”导入React;
在上面的代码行中,我找不到React的位置,我试着在'react'文件夹中查找,它是node_modules的子文件夹

0h4hbjxa

0h4hbjxa1#

ReactReact package导出。

import React from 'react';

在上面的行中,您正在导入一个默认导出。您可以给予它任何您想要的名称,而不是React
React源代码中,您可以找到package.json中定义的默认导出。

ebdffaop

ebdffaop2#

单词React是您将'react'库导出为默认值的位置。
如果你打开node_modules/react/package.json文件并检查它,你会发现以下代码行:

...
  "main": "index.js",
  "exports": {
    ".": {
      "react-server": "./react.shared-subset.js",
      "default": "./index.js" // <----------------------------- see here
    },
    "./package.json": "./package.json",
    "./jsx-runtime": "./jsx-runtime.js",
    "./jsx-dev-runtime": "./jsx-dev-runtime.js"
  },

package.json说入口点是index.js,所以如果你检查index.js的内容,(exports["."][“default”]说使用index.js进行默认导入(即import DefaultReact from 'react'))

'use strict';

if (process.env.NODE_ENV === 'production') {
  module.exports = require('./cjs/react.production.min.js');
} else {
  module.exports = require('./cjs/react.development.js');
}

这不仅仅是一个React特定的事情,你可以学习如何从here创建自定义包。

相关问题