Cách đúng để thực thi mã trên Gạch dưới khi được tải là gì? Tôi đang cố gắng thực thi mã bên dưới để tự động mở rộng vùng tên _ export khi các mô-đun yêu cầu nó:Làm cách nào để kết hợp các plugin Gạch dưới trong RequireJS?
_.mixin(_.str.exports());
Tài liệu hơi mơ hồ nhưng tôi nghĩ rằng tôi đặt nó trong phần init shim? Tôi cố gắng dưới đây nhưng tôi thậm chí không thể có được một breakpoint để đánh vào init:
require.config({
paths: {
jquery: 'libs/jquery/jquery.min',
underscore: 'libs/underscore/lodash.min',
underscorestring: 'libs/underscore/underscore.string.min'
},
shim: {
underscore: {
exports: '_'
}
underscorestring: {
deps: ['underscore'],
init: function (_) {
//Mixin plugin to namespace
_.mixin(_.str.exports());
return _;
}
}
}
});
Khi tôi cố gắng làm điều này và sử dụng underscorestring, tôi nhận được lỗi này:
Uncaught TypeError: Object function s(e){return new o(e)} has no method 'startsWith'
Documents:
YES - đã cứu tôi giờ – hharnisc
Nó doesn' t có vẻ "init" hoạt động trong shim với RequireJS mới nhất. Hãy xem kỹ thuật này thay thế: http://blog.falafel.com/Blogs/basem-emara/2014/02/17/the-lo-dash-on-underscore.js-and-strings – TruMan1
Bạn có thể sử dụng bản đồ 'thuộc tính để có hiệu quả bí danh 'gạch dưới' vào 'underscore.mixed' của bạn. Xem http://requirejs.org/docs/jquery.html#noconflictmap –