【问题标题】:How react loads component js filesreact如何加载组件js文件
【发布时间】:2017-12-13 06:45:02
【问题描述】:

我是 React 新手,正在尝试编写一些基本概念。但是有几件事,我无法理解。为什么在为不同组件使用单独文件时,浏览器网络选项卡(用于组件 js 文件)中没有条目。 react如何加载组件js文件或文件内容并将其提供给浏览器。(就像使用“脚本”标签时,该特定文件会有一个请求条目。)

我正在使用 npm start 运行

索引.js

import React from 'react';
import ReactDOM from 'react-dom';
import './css/output.css';
import App from './App.js';
import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();

App.js

import React, { Component } from 'react';
import { Fragment } from 'react';
import logo from './logo.svg';
import Header from './Header';

class App extends Component {
  render() {
    return (
        <div>
            <Fragment>
                <Header/>
            </Fragment>
        </div>
    );
  }
}

export default App;

Home.js

import React, { Component } from 'react';
import { Fragment } from 'react';

class Home extends Component {
  render() {
    return (
      <h1>
        Inside Home
      </h1>
    );
  }
}

export default Home;

【问题讨论】:

  • 使用一些工具,比如 webpack,你的 React 应用程序被捆绑到一个文件中,因此,你所有单独的 React 组件都打包在一个文件中,因此你看不到它们单独加载
  • 欢迎来到美妙的 JS 工具世界,特别是打包工具!阅读有关 Webpack 和 Co 的内容,但不要过分强调在第一次通过时理解它们。它可以变得相当复杂。值得庆幸的是,create-react-app 之类的东西会为您处理复杂的部分,这样您就可以继续构建东西了:D

标签: javascript reactjs ecmascript-6 create-react-app es6-modules


【解决方案1】:

看起来您正在使用“create-react-app”,它实际上带有一些脚本,可以构建您的 JS 并在一个文件中创建 JS 包(如果我没记错的话)。

根据文档:https://github.com/facebookincubator/create-react-app

如果您刚开始使用 React,请使用 create-react-app 自动化 您的应用程序的构建。没有配置文件,并且 react-scripts 是 package.json 中唯一的额外构建依赖项。 您的环境将拥有构建现代 React 所需的一切 应用:

React、JSX、ES6 和 Flow 语法支持。 ES6 之外的语言附加功能 像对象扩展运算符。一个开发服务器,它为常见的 lints 错误。直接从 JavaScript 导入 CSS 和图像文件。 自动前缀 CSS,因此您不需要 -webkit 或其他前缀。 构建 将 JS、CSS 和用于生产的图像与源映射捆绑在一起的脚本。 一个离线优先的服务工作者和一个网络应用清单,满足所有 Progressive Web App 标准。

我认为有一个模板可以从 /dist 文件夹加载构建 JS。检查那里。此外,如果您打开构建的工件,您将看到由 webpack 构建生成的代码。

【讨论】:

  • 谢谢马丁。我检查并发现它存在于 bundle.js 中。但是,如果我正在创建一个没有非常高的组件的大型应用程序,它不会导致性能问题吗?
  • create-react-app 让您快速开始使用基本工具。您需要自行决定如何分发 - 分块构建或将所有内容捆绑在一起。我能给你的唯一答案是“这取决于”。我会在这里检查:webpack.js.org 这是构建工具。它具有非常精细的配置。
猜你喜欢
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-19
  • 1970-01-01
相关资源
最近更新 更多