如何在nodejs中使用sugar.js?

http://sugarjs.com/

这是一个库,所以我可以直接在浏览器中加载它。 这也是一个NPM包,但我怎么能用它作为一个moudule?

在浏览器中,加载一个js文件会很容易的改变对象,但是在nodejs中工作的时候不一样,我也搞不清楚。

Sugar并没有被用作标准的CommonJS模块,因为库的全部内容都是修改内置的原型。 一个你需要它进入你的项目,所有的内置对象将被扩展,你可以从那里使用它们。

编辑:这现在不再是真正的v2.0.0。 原型修改现在selectjoin,所以你可以像使用导出对象的任何其他节点模块一样使用Sugar。 有关更多信息,请参阅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 – 它会修改原生的原型,所以所有的东西都会使用它们 – 而不仅仅是你的模块。 这样做是非常阴险的,它不是模块化的,当你最不期望的时候它会咬你。

值得再说一遍:不要使用任何在polyfilling的(非常合理的)上下文之外修改原生原型的模块。 不要使用Sugar.js。 特别是在node.js中 – 这里有一个模块系统是有原因的。 我个人遇到了修改原生原型的问题。 奇怪的事情可能发生在你的代码深处。

下面是关于为什么修改本地对象不好的更多信息:

http://www.nczonline.net/blog/2010/03/02/maintainable-javascript-dont-modify-objects-you-down-own/

更新:这听起来像糖v2.0.0现在把扩展本地作为select,这是好多了(因为本地没有默认扩展)。