我正在尝试使用汇总而不是 browserify 和 babel 构建一个反应应用程序。我意识到我需要使用rollup-plugin-babel
来转换 jsx,但是当我告诉 rollup 格式为iife
时,最终页面加载时出现错误:
Uncaught ReferenceError: React is not defined
我需要添加什么以包含我在最终构建中rollup.config.js
安装的节点模块?package.json
我正在尝试使用汇总而不是 browserify 和 babel 构建一个反应应用程序。我意识到我需要使用rollup-plugin-babel
来转换 jsx,但是当我告诉 rollup 格式为iife
时,最终页面加载时出现错误:
Uncaught ReferenceError: React is not defined
我需要添加什么以包含我在最终构建中rollup.config.js
安装的节点模块?package.json
两种选择:
<script>
在你的 app bundle 之前包含 React 作为一个单独的标签node_modules
文件夹中提取依赖项。如果您采用第二条路线,您还需要rollup-plugin-commonjs(将 CommonJS 模块转换为 ES 模块)。我认为您还需要添加import * as React from 'react'
到包含 JSX 的每个模块,否则您将继续获得 ReferenceError。
注意:你也许可以使用rollup-plugin- buble 来转译 JSX。它类似于 Babel 插件,但速度更快(尽管它不会转换所有 ES2015 功能)