在我网站的每个页面上,我想要包含来自cdnjs.com的React,React DOM和React Bootstrap。我已经安装了npm react-tinymce。我想要做的是编写一个使用react-tinymce来显示一个tinymce编辑器的组件;当它通过gulp捆绑时,我只想在我的dist.js中捆绑react-tinymce和我的组件;我不想在dist.js中捆绑React,React DOM和React Bootstrap。
所以我尝试了externals(Webpack and external libraries),我也试过了browserify-shim,但它只是不想工作;它只是说反应没有定义。只有捆绑了React,React DOM和React Bootstrap以及react-tinymce和我的组件,bundle才有效。
当我试图摆脱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>
谢谢!
答案 0 :(得分:1)
这在我的构建中对我有用。来自webpack.config.js:
externals: {
react: 'window.React',
'react-dom': 'window.ReactDOM'
}
它在bundle.js中生成以下内容:
/* 1 */
/***/ function(module, exports) {
module.exports = window.React;
/***/ },
和
/* 88 */
/***/ function(module, exports) {
module.exports = window.ReactDOM;
/***/ }