2013-05-13 123 views

回答

25

定義的路徑,在配置插件:

requirejs.config({ 
    paths: { 
     "text" : "components/requirejs-text/text" 
    } 
}, 

並在https://github.com/requirejs/text文檔中使用它:

require(["some/module", "text!some/module.html", "text!some/module.css"], 
    function(module, html, css) { 
     //the html variable will be the text 
     //of the some/module.html file 
     //the css variable will be the text 
     //of the some/module.css file. 
    } 
); 

您可以使用在技術上也使用插件,而不在requirejs.config路徑定義,但這不是想必最佳實踐:

require(["your_path_to_the_plugin_from_baseurl/without_js_at_the_end!some/textfile"], 
    function(yourTextfile) { 
    } 
); 
2

這是我在使用涼亭

在項目的bower.json文件安裝requirejs文本:

{ 
    "name":"{{YOUR PROJECT NAME}}", 
    "version":"{{YOUR PROJECT VERSION}}", 
    "dependencies":{ 
     "requirejs-text":"2.0.6" 
    } 
} 
+0

訪問我的意思是問我如何配置requireJS來使用文本插件。我明白它的意思是放在應用程序的'baseUrl'中,但是因爲它在''components''中,我該如何使用它? – 2013-06-11 08:56:05

+0

bower僅幫助您將所有文件(是整個github)提取到本地環境。您可能仍然需要配置另一個工具來進一步提取它。這種工具的一個例子是[grunt-bower-task](https://github.com/yatskevich/grunt-bower-task)。之後,像平常一樣在requirejs.config中配置文本插件。 – 2013-06-13 01:41:29

+0

除了文本插件,你可能也想考慮requirejs-tpl插件https://github.com/jfparadis/requirejs-tpl哪個更方便使用 – 2013-06-13 09:27:18

3

PROJECT_APP/bower.js下添加依賴關係部分這一行:

"requirejs": "~2.1.8", 
"requirejs-text":"~2.0.10", // this is new 
"qunit": "~1.12.0", 

然後運行bower install,它應該安裝此插件並在末尾顯示路徑,例如requirejs-text#2.0.10 vendor/bower/requirejs-text(取決於您的配置)。

最後,在config.js文件中添加下

require.config({ 
    paths: { 

     // Make vendor easier to access. 
     "vendor": "../vendor", 
     // Almond is used to lighten the output filesize. 
     "almond": "../vendor/bower/almond/almond", 

     // add the requirejs text plugin here 
     "text" : "../vendor/bower/requirejs-text/text", 

     // Opt for Lo-Dash Underscore compatibility build over Underscore. 
     "underscore": "../vendor/bower/lodash/dist/lodash.underscore", 

     // Map remaining vendor dependencies. 
     "jquery": "../vendor/bower/jquery/jquery", 
     "backbone": "../vendor/bower/backbone/backbone" 
    } 

}); 

,這一行使用它,只是需要它,在這種情況下,你可以用template可變

define([ 
    // These are path alias that we configured in our bootstrap 
    'app',  // general app variables 
    'jquery',  // lib/jquery/jquery 
    'underscore', // lib/underscore/underscore 
    'backbone', // lib/backbone/backbone 
    'text!templates/books.html' // use the plugin to import a template 
], function(app,$, _, Backbone, template){ // don't forget to define it ! 
+1

「vendor」:「../ vendor」如何幫助供應商更容易訪問?無論如何你都不需要供應商目錄。 – bartzy 2014-03-30 12:39:19