我有一个"浏览器"定义一些React组件的库,我想从HTML页面加载(从Rails应用程序提供),然后实现React组件,由Rails放在页面内的一些数据提供。
(总体情况是:我们有一个TurboLinks应用程序,我们希望将一些React组件用于非常特定的部分,需要更多的反应性。
Rails页面将加载React运行时和&所需的应用程序组件lib,然后生成最小的原始JS以根据需要实现React组件)
我发现的只是将外部libs变量暴露给我的 lib的方法,但我想将 我的 变量暴露给全局浏览器范围
我最后直接从window.Stuff = Stuff;
源文件以相当丑陋的方式(.jsx
)导出类,但我觉得这段代码很有气味......
关于更好地实现此类事情的任何建议?
答案 0 :(得分:2)
在browserify包中公开模块,例如:
inspect
然后从Rails页面JS:
browserify()
.require('./whatever', {expose: 'whatever'})
或者:
创建一个独立的browserify包,如下所示:
require('whatever');
browserify('./entry', {standalone: 'something'})
entry.js
然后从Rails页面JS:
module.exports = {
whatever: require('./whatever')
};