Was ist der richtige Weg, Code auf Underscore auszuführen, wenn es geladen wird? Ich versuche, den folgenden Code auszuführen, um den _ exportierten Namensraum automatisch zu verlängern, wenn Module, die es erfordert:Wie mische ich Underscore Plugins in RequireJS?
_.mixin(_.str.exports());
Die docs etwas vage, aber ich denke, ich habe es in der Shim init Abschnitt? Ich habe versucht, die folgenden, aber ich kann nicht einmal einen Breakpoint schlagen in der init erhalten:
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 _;
}
}
}
});
Wenn ich versuche, dies zu tun und nutzen underscorestring, bekomme ich diesen Fehler:
Uncaught TypeError: Object function s(e){return new o(e)} has no method 'startsWith'
Text & Tabellen:
JA definieren konnte - mich gerettet Stunden – hharnisc
Es spielt keine‘ t scheint "init" arbeitet in der Shim mit den neuesten RequireJS. Sehen Sie sich stattdessen diese Technik an: http://blog.falafel.com/Blogs/basem-emara/2014/02/17/the-lo-dash-on-undderscore.js-and-strings – TruMan1
Sie können die 'map verwenden 'Eigenschaft, um 'Unterstrich' effektiv zu Ihrem 'Unterstrich.mixed' umzubenennen. Siehe http://requirejs.org/docs/jquery.html#noconflictmap –