require.js text 插件使用


相比於使用script構建DOM結構,使用HTML標簽來構建html是一個很好的方式。然而, 並沒有很好的方式可以在js文件中嵌入 HTML 。最好的方式是使用 HTML字符串, 但這很難管理,尤其實在多行HTML的時候。

text.js 能解決這個問題。如果依賴添加了 text!前綴它將會被自動加載。下載該插件並且將它放在應用程序的 baseUrl 目錄(如果想放在其他地方,使用 paths config 進行配置).

You can specify a text file resource as a dependency like so:

require(["some/module", "text!some/module.html", "text!some/module.css"],
    function(module, html, css) {
        html 變量是some/module.html 文件的文本形式
        css變量是some/module.css 文件的文本形式 
    }
);

注意.html 和.css 后綴規定了文件的類型。  路徑"some/module"部分將會根據標准模塊名進行解析:它將使用 baseUrl 和 paths configuration options 進行查找。

對於 HTML/XML/SVG 文件, 有其他的配置選項。你可以傳入一個 !strip, 它將去除XML申明,這樣外部的 SVG 和 XML 文件就能安全地加載到 document 中,同樣的,如果是 HTML,只有 body 標簽內部的部分會被返回。例如:

require(["text!some/module.html!strip"],
    function(html) {
        //the html variable will be the text of the
        //some/module.html file, but only the part
        //inside the body tag.
    }
);

text 文件通過異步的方式進行加載(XHR) , 所以你只能獲取同域地下的文件 (查看下面XHR 限制條件).

然而, the RequireJS optimizer 將會在模塊中內置 text! 真實text 文件內容參考, 這樣, 依賴text!的模塊能使用其他域的文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM