reactjs - React 应用程序可以在没有构建系统的情况下在不同的 JS 文件中包含组件吗?

标签 reactjs babeljs

React 示例使用 gulp、Grunt 或 npm 以及 Browserify 或 Webpack。在下面的代码中,我有一个没有这些的 React 应用程序,我只是想知道最后一步是否可行。

一个包含 React、babel-browser 和一个 JavaScript 文件的 HTML 页面:

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body>
  <script src="https://unpkg.com/react@0.14.0/dist/react.min.js"></script>
  <script src="https://unpkg.com/react-dom@0.14.0/dist/react-dom.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.25/browser.min.js"></script>
  <script type="text/babel" src="js/App.js"></script>
</body>
</html>

这里是App.js

'use strict';
var {
  Component
} = React;
class Hdr extends Component {
  render() {
    return (<header className="container">Header</header>);
  }
};

class App extends Component {
  render() {
    return (
      <main>
        <Hdr />
      </main>
    );
  }
};
ReactDOM.render(<App />, document.body);

App 组件拉入 Hdr 组件。问题是:如何将 Hdr 放在单独的 JS 文件中?我尝试了一下,App找不到Hdr

Here is a working demo .

最佳答案

http://plnkr.co/edit/Pw75IIuonyz9UlBhvWo5?p=preview

你只需要做

window.Hdr = Hdr

它会起作用的。

编辑:基于约书亚的评论

window.__MyApp__ = {
   // a lot of app props
}
window.__MyApp__.Hdr = Hdr

关于reactjs - React 应用程序可以在没有构建系统的情况下在不同的 JS 文件中包含组件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33072269/

相关文章:

javascript - 导航在 ReactJS Web 应用程序中不起作用

node.js - Node JS 中是否也需要每个 React 库?

javascript - Babel 7 和 preset-es2015 不能一起工作

reactjs - React State Hook - 切换类

javascript - React Hooks 与 ReactCSSTransitionGroup 不起作用

reactjs - 在 Antd 表的列标题中配置自动换行

javascript - 我如何在我的 React Component 类中拥有类范围的常量?

javascript - Babel 和 TypeScript 之间的主要区别是什么

iOS 9 : “unexpected use of reserved word ‘let’ in strict mode” + “Can’ t find variable: fetch”. 转译问题?怎么修?

javascript - Chrome 中的 ES6 - Babel Sourcemaps 和 Arrow Functions 词法作用域