Подтвердить что ты не робот

Как использовать sugar.js в nodejs?

http://sugarjs.com/

Это библиотека, поэтому я могу загрузить ее в браузере напрямую. Это также пакет npm, но как я могу использовать его как moudule?

В браузере загрузка js файла легко изменит объекты, но при работе в nodejs это не то же самое, и я не могу понять это.

4b9b3361

Ответ 1

Сахар не используется в качестве стандартного модуля CommonJS, так как вся точка библиотеки заключается в изменении встроенных прототипов. Один из них вам понадобится в вашем проекте, все встроенные объекты будут расширены, и вы сможете использовать их оттуда.

Изменить: теперь это больше не относится к версии 2.0. Модификация прототипа теперь включена, поэтому вы можете использовать Sugar, как и любой другой модуль node, используя экспортированный объект. Подробнее см. https://sugarjs.com/quickstart/

Ответ 2

Вы просто установите модуль:

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);

Ответ 3

Не используйте 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 теперь относится к расширению аборигенов как к выбору, что намного лучше (поскольку аборигены по умолчанию не расширены).