Это библиотека, поэтому я могу загрузить ее в браузере напрямую. Это также пакет npm, но как я могу использовать его как moudule?
В браузере загрузка js файла легко изменит объекты, но при работе в nodejs это не то же самое, и я не могу понять это.
Это библиотека, поэтому я могу загрузить ее в браузере напрямую. Это также пакет npm, но как я могу использовать его как moudule?
В браузере загрузка js файла легко изменит объекты, но при работе в nodejs это не то же самое, и я не могу понять это.
Сахар не используется в качестве стандартного модуля CommonJS, так как вся точка библиотеки заключается в изменении встроенных прототипов. Один из них вам понадобится в вашем проекте, все встроенные объекты будут расширены, и вы сможете использовать их оттуда.
Изменить: теперь это больше не относится к версии 2.0. Модификация прототипа теперь включена, поэтому вы можете использовать Sugar, как и любой другой модуль node, используя экспортированный объект. Подробнее см. https://sugarjs.com/quickstart/
Вы просто установите модуль:
npm install sugar
затем используйте его так же, как API говорит:
var http = require('http');
var sugar = require('sugar');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end('hey_there_good-lookin'.camelize());
}).listen(process.env.PORT || 8080);
Не используйте sugar.js - он изменяет собственные прототипы, поэтому ВСЕ их будет использовать, а не только ваш модуль. Выполнение этого невероятно коварно, его не модульное, и он укусит вас в задницу, когда вы этого меньше всего ожидаете.
Его стоит сказать еще раз: не используйте какой-либо модуль, который модифицирует собственные прототипы вне (очень разумного) контекста полифинга. Не используйте Sugar.js. Особенно в node.js - там есть система модулей по какой-то причине. Я лично сталкиваюсь с ужасными проблемами с вещами, которые изменяют собственные прототипы. Странные вещи могут происходить глубоко в недрах вашего кода.
Вот еще одна информация о том, почему изменение собственных объектов плохо:
http://www.nczonline.net/blog/2010/03/02/maintainable-javascript-dont-modify-objects-you-down-own/
UPDATE: похоже, что Sugar v2.0.0 теперь относится к расширению аборигенов как к выбору, что намного лучше (поскольку аборигены по умолчанию не расширены).