首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Webpack:将变量公开给script-tag

Webpack:将变量公开给script-tag
EN

Stack Overflow用户
提问于 2017-03-01 00:11:12
回答 1查看 192关注 0票数 2

我正在努力让webpack的bundle.js将ReactDOM (可能还有其他变量)暴露给标签……有什么绝妙的窍门吗?

我用jquery做到了这一点,但这真的是可行的方法吗?:

代码语言:javascript
运行
复制
$ = require('jquery');
window.jQuery = $;
window.$ = $;
EN

回答 1

Stack Overflow用户

发布于 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

代码语言:javascript
运行
复制
module.exports = {
  // other configs
  externals: {
   'react-dom': 'ReactDOM'
  }
}

冒号左边的名称是在代码中引用ReactDOM的方式。右边的是包附加到window的全局变量。

bundle.js内的代码中,import ReactDOM如下所示:

代码语言:javascript
运行
复制
import * as ReactDOM from 'react-dom'

在包外部的代码中,使用ReactDOM作为全局变量

代码语言:javascript
运行
复制
ReactDOM.render(/*some component */)

您可以将此方法推广到任何UMD包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42513657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档