簡體   English   中英

通過動態注入JavaScript依賴項<script> tag

[英]JavaScript dependency injection via dynamic <script> tag

通過在src創建<script>標簽在原始JavaScript中使用JSONP,使我考慮在JavaScript插件和其他利用庫但希望盡可能獨立的JavaScript組件中使用相同的方法進行依賴項注入。

使用jQuery作為可能需要注入的流行庫的示例...

// make sure we don't load it if already loaded.
if (typeof jQuery === 'undefined') {
    var dependency = document.createElement('script');
    dependency.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js";
    document.getElementsByTagName('head')[0].appendChild(dependency);
}

window.onload = function() {
    // jQuery is now available w/o the extra <script> tag added by the end user...
}

確實在這一點上它主要是概念性的( 但確實可行 ),但是我想知道這是否可以視為JavaScript依賴項注入的可接受解決方案? 有什么想法嗎?

在實施此技巧之前,應考慮為什么需要此技巧。 當您的代碼至關重要時,必須使用此方法,並且必須在未知環境中使用該方法。 在構建用於外部網站的Web插件時,請嘗試強制開發人員包括所需的庫。 它更有效,也更可靠。

關於您的示例:將代碼放在一個(匿名)函數中,以免用不必要的變量填充全局范圍。

是的,我相信這是google.load()背后的概念。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM