[英]Access a variable defined in a CommonJS library from the global browser scope
我有一個“瀏覽器化”庫,它定義了一些React組件,我想從HTML頁面(從Rails應用程序提供)中加載這些組件,然后實例化React組件,這些組件由Rails放入頁面中的一些數據提供。
(總的來說是:我們有一個TurboLinks應用程序,我們希望將某些React組件用於非常特定的部件,需要更多的反應性。
因此,Rails頁面將同時加載React運行時和所需的應用程序組件庫,然后生成最少的原始JS以根據需要實例化React組件)
我發現的所有方法都是將外部libs變量公開給我的 lib的方法,但是我想將我的變量公開給全局瀏覽器范圍。
我最終以一種非常丑陋的方式( window.Stuff = Stuff;
)直接從.jsx
源文件中導出了類,但是我覺得這段代碼在聞...
對實現這種目標的更好方法有何建議?
公開瀏覽器捆綁中的模塊,例如:
browserify()
.require('./whatever', {expose: 'whatever'})
然后從Rails頁面JS:
require('whatever');
要么:
創建一個獨立的browserify軟件包,如下所示:
browserify('./entry', {standalone: 'something'})
entry.js
module.exports = {
whatever: require('./whatever')
};
然后從Rails頁面JS:
window.something.whatever;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.