【发布时间】:2012-10-03 21:05:41
【问题描述】:
我要做的是调整我的 jQuery 插件以在 Node.js 上与 jQuery 一起使用。
据我了解,CommonJS 最基本的形式需要将库包装在闭包中,并且该闭包应作为“导出”参数的参数提供。这样,代码整齐地包含在自己的命名空间中(通过命名变量),并且不会污染全局命名空间。
jQuery 本身应该属于 '$' 命名空间。
阿拉:
var $ = require(jquery);
但我的插件也应该适合 '$' 命名空间。
插件代码:
(function( $ ) {
// plugin code goes here
})(jquery);
exports.jquery = jquery // will this work?
例如:
var $ = require(jquery);
$ = require(jquery-csv.js); // will this work?
要在浏览器中工作,所有内容都设置为可从“$”命名空间调用,即使我的模块设置为“$”的子命名空间(即“$.csv”)。
是否有一种标准方法可以对单个命名空间执行多个要求?如果没有,是否有可行的替代方案(例如对插件代码进行浅拷贝)?
注意:匿名函数包装遵循standard jquery guidelines。
注意:此修复将应用于 jquery-csv 插件。
【问题讨论】:
标签: javascript node.js jquery-plugins commonjs