我正在努力让webpack的bundle.js将ReactDOM (可能还有其他变量)暴露给标签……有什么绝妙的窍门吗?
我用jquery做到了这一点,但这真的是可行的方法吗?:
$ = require('jquery');
window.jQuery = $;
window.$ = $;发布于 2017-03-01 03:01:05
这是一种干净利落地做你想做的事情的方法:
在输出html页面上包含链接到CDN (或希望获取ReactDOM的任何位置)的ReactDOM的脚本标记:<script src="https://unpkg.com/react-dom@15/dist/react-dom.min.js"></script>
在您的webpack配置中使用externals属性,让webpack知道ReactDOM将来自外部源,而不是webpack可以在项目目录中找到的源。在这种情况下,在您的webpack.config.js中
module.exports = {
// other configs
externals: {
'react-dom': 'ReactDOM'
}
}冒号左边的名称是在代码中引用ReactDOM的方式。右边的是包附加到window的全局变量。
在bundle.js内的代码中,import ReactDOM如下所示:
import * as ReactDOM from 'react-dom'在包外部的代码中,使用ReactDOM作为全局变量
ReactDOM.render(/*some component */)您可以将此方法推广到任何UMD包。
https://stackoverflow.com/questions/42513657
复制相似问题