相比於使用script構建DOM結構,使用HTML標籤來構建html是一個很好的方式。然而, 並無很好的方式能夠在js文件中嵌入 HTML 。最好的方式是使用 HTML字符串, 但這很難管理,尤爲實在多行HTML的時候。css
text.js 能解決這個問題。若是依賴添加了 text!前綴它將會被自動加載。下載該插件而且將它放在應用程序的 baseUrl 目錄(若是想放在其餘地方,使用 paths config 進行配置).html
You can specify a text file resource as a dependency like so:api
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 限制條件).ide
然而, the RequireJS optimizer 將會在模塊中內置 text! 真實text 文件內容參考, 這樣, 依賴text!的模塊能使用其餘域的文件requirejs