Tôi nên sử dụng requirejs-text
được cài đặt qua máy cắt như thế nào? Tôi có nghĩa vụ phải đặt nó trong baseUrl
nhưng tự hỏi nếu tôi có thể sử dụng nó từ components/requirejs-text/
? Whats thực hành tốt nhất?RequireJS Plugin văn bản được cài đặt với Bower
Trả lời
Xác định đường dẫn đến các plugin trong cấu hình:
requirejs.config({
paths: {
"text" : "components/requirejs-text/text"
}
},
Và sử dụng nó trong mô-đun của bạn như được ghi trên 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.
}
);
Bạn có thể sử dụng cũng về mặt kỹ thuật sử dụng các plugin mà không định nghĩa đường dẫn trong requirejs.config, nhưng đây là propbably không thực hành tốt nhất:
require(["your_path_to_the_plugin_from_baseurl/without_js_at_the_end!some/textfile"],
function(yourTextfile) {
}
);
Đây là cách tôi có cài đặt requirejs-văn bản sử dụng Chòi chơi cho
Trong file bower.json của dự án của bạn:
{
"name":"{{YOUR PROJECT NAME}}",
"version":"{{YOUR PROJECT VERSION}}",
"dependencies":{
"requirejs-text":"2.0.6"
}
}
trong PROJECT_APP/bower.js
thêm dòng này dưới sự phụ thuộc phần:
"requirejs": "~2.1.8",
"requirejs-text":"~2.0.10", // this is new
"qunit": "~1.12.0",
sau đó chạy bower install
, nó sẽ cài đặt plugin này và hiển thị ở cuối đường dẫn như requirejs-text#2.0.10 vendor/bower/requirejs-text
(phụ thuộc vào cấu hình của bạn).
Cuối cùng, trong file config.js, thêm dòng này dưới
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"
}
});
Sau đó, để sử dụng nó, chỉ đơn giản là yêu cầu nó, trong trường hợp này bạn có thể truy cập vào nó với template
biến
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 !
Làm cách nào để "nhà cung cấp": "../ nhà cung cấp" giúp nhà cung cấp "dễ truy cập hơn"? Bạn sẽ không yêu cầu thư mục của nhà cung cấp trong mọi trường hợp. – bartzy
Tôi muốn hỏi làm thế nào để cấu hình requireJS để sử dụng plugin văn bản. Tôi hiểu ý nghĩa của nó được đặt trong 'baseUrl' của ứng dụng, nhưng vì nó nằm trong các thành phần 'bower', tôi sử dụng nó như thế nào? –
bower chỉ giúp bạn kéo tất cả các tệp (có toàn bộ github) vào môi trường cục bộ của bạn. Bạn vẫn có thể cần phải cấu hình một công cụ khác để giải nén nó hơn nữa. Một ví dụ về công cụ này là [grunt-bower-task] (https://github.com/yatskevich/grunt-bower-task). Sau đó, cấu hình các plugin văn bản trong requirejs.config như bình thường. –
Ngoài plugin văn bản, bạn cũng có thể muốn xem xét plugin requirejs-tpl https://github.com/jfparadis/requirejs-tpl có nhiều khả năng sử dụng –