【发布时间】:2016-05-09 09:09:00
【问题描述】:
在我网站的每个页面上,我都想包含来自 cdnjs.com 的 React、React DOM 和 React Bootstrap。我已经 npm 安装了 react-tinymce。我要做的是编写一个组件,使用 react-tinymce 来显示一个 tinymce 编辑器;当它通过 gulp 捆绑时,我只想将 react-tinymce 和我的组件捆绑在我的 dist.js 中;我不希望 React、React DOM 和 React Bootstrap 捆绑在 dist.js 中。
所以我尝试了外部 (Webpack and external libraries) 并且我也尝试了 browserify-shim,但它就是不想工作;它只是一直说没有定义反应。仅当我将 React、React DOM 和 React Bootstrap 与 react-tinymce 和我的组件捆绑在一起时,该捆绑包才有效。
当我试图摆脱 browserify 时,有人可以为 webpack 和 jspm 提供示例配置来完成这个吗?基于谷歌搜索它应该很简单,但与所有 javascript 工具一样,它永远不会像你想要的那样简单。我的组件很简单:
import React from 'react';
import ReactDOM from 'react-dom';
import ReactTinyMCE from 'react-tinymce';
Then I just try to display using <ReactTinyMCE>
谢谢!
【问题讨论】:
-
错误发生在运行时还是构建时?
-
运行时间。它构建良好。我什至检查了捆绑包,它不包含 react,这很好,因为我在 browserify 和 browserify-shim 中将它声明为外部依赖项。
-
值得检查的事情:(1)
window.React是否在控制台上产生任何东西? (2) CDN 脚本是否包含在 HTML 源代码中的捆绑脚本之前? (3) 如果您检查您的转译代码,您的 React 变量是否已分配给window.React? -
React 没有分配给 window.React :( 在 jspm、webpack 或 browserify 中有一些示例配置代码吗?Browserify 应该像 browserify-shim 一样简单,如果我在 gulp 中使用外部捆绑,对吧?
标签: javascript reactjs webpack jspm