Create-React-App应用程序中index.html和index.js之间的连接在哪里?

oknwwptz  于 2022-12-16  发布在  React
关注(0)|答案(2)|浏览(244)

我开始玩Create React应用程序,但我不明白index.js是如何加载到index.html中的。

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
    <!--
      Notice the use of %PUBLIC_URL% in the tag above.
      It will be replaced with the URL of the `public` folder during the build.
      Only files inside the `public` folder can be referenced from the HTML.

      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
      work correctly both with client-side routing and a non-root public URL.
      Learn how to configure a non-root public URL by running `npm run build`.
    -->
    <title>React App</title>
  </head>
  <body>
    <div id="root"></div>
    <!--
      This HTML file is a template.
      If you open it directly in the browser, you will see an empty page.

      You can add webfonts, meta tags, or analytics to this file.
      The build step will place the bundled scripts into the <body> tag.

      To begin the development, run `npm start`.
      To create a production bundle, use `npm run build`.
    -->
  </body>
</html>

但是我在任何地方都看不到index.js的导入。连接在哪里?我错过了什么?

b09cbbtk

b09cbbtk1#

在引擎盖下,Create React应用程序使用带有html-webpack-plugin的Webpack。
我们的配置指定Webpack使用src/index.js作为“入口点”,所以这是它读取的第一个模块,然后从它读取其他模块,将它们编译成一个包。
当webpack编译资源时,它会生成一个(或者几个,如果你使用代码分割的话)bundle。它会使它们的最终路径对所有插件可用。我们正在使用一个这样的插件来注入脚本到HTML中。
我们已经启用html-webpack-plugin来生成HTML文件。在配置中,我们指定它应该读取public/index.html作为模板。我们还将inject选项设置为true。使用该选项,html-webpack-plugin使用Webpack提供的路径将<script>添加到最终的HTML页面中。最后一个页面是在运行npm run build之后在build/index.html中获得的页面,也是在运行npm start时从/获得的页面。
希望这能有所帮助!Create React App的美妙之处在于你实际上不需要去想它。

pexxcrt2

pexxcrt22#

你不会错过任何东西,因为没有任何联系,因为这些技术完全不相关,彼此之间也没有密切关系。Webpack/npm/node/json/next/react/typescript/web 3完全是通过简单地使用Apache和HTML实现的。坦率地说,你最好利用KISS,而不要使用那些不仅会带来巨大安全风险,而且不值得开发的东西。

相关问题