在React中使用外部脚本功能
Utilize external script function in React?
我试图将Twilio Video客户端脚本加载到我的React + Rails项目中。在index.html
中,我有两个来自Twilio的外部脚本:
<script src="https://media.twiliocdn.com/sdk/js/conversations/v0.13/twilio-conversations.min.js"></script>
我不知道如何从React组件访问Twilio,以便我可以开始在我的应用程序中使用这个脚本。必须是一个不需要动脑筋的方法,对吗?
如果您将Twilio作为脚本标签包含在index.html
中,则可以在全局范围内访问它:
// App.js
const App = (function(Component) { // mock imports
class App extends Component {
render() {
// Twilio globally accessible
return (
<pre>
{Object.keys(Twilio.Conversations).join(', ')}
</pre>
);
}
}
return App; // mock expoort
})(React.Component);
// index.js
(function(App, render) { // mock imports
render(<App />, document.getElementById('app'));
})(App, ReactDOM.render);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.js"></script>
<script src="//media.twiliocdn.com/sdk/js/conversations/v0.13/twilio-conversations.min.js"></script>
<div id="app"></div>
可能更清楚的例子:http://www.webpackbin.com/4JhaBpybf
unminified twilio-conversations.js:
(function(root) {
...
if (typeof define === 'function' && define.amd) {
define([], function() { return Conversations; });
} else {
var Twilio = root.Twilio = root.Twilio || {};
Twilio.Conversations = Twilio.Conversations || Conversations;
}
})(typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this);
相关文章:
- 建议将包含不同参数的内联JS转换为外部脚本
- 加载Angular视图后加载外部脚本
- 如何获取外部脚本的内容
- 是否有用于加载外部脚本的JavaScript库
- Javascript:是否可以读取外部脚本的原始代码
- 不评估动态加载的外部脚本
- 外部脚本可以在Schematron规则中使用吗
- Kinetic JS无法从外部脚本文件中工作
- html javascript加载外部脚本
- 取消绑定由加载jQuery'的外部脚本添加的事件;s的getScript函数
- requirejs在头中加载外部脚本
- 加载外部脚本时,匿名定义()模块不匹配
- document.write(“anything”) 不会在 Internet Explorer 中作为外部脚本执行
- 在加载其他脚本之前,在 Jasmine 中加载外部脚本
- 在 JavaScript 中调用外部脚本
- Chrome扩展程序:加载并执行外部脚本
- 在所有浏览器上执行没有扩展名.js外部脚本重定向
- 外部脚本缓存
- 通过添加/删除指向外部脚本的链接,以编程方式更新页面的源代码
- 如何防止外部脚本覆盖我的主.js配置