Eva*_*ice 6 javascript jquery-plugins commonjs node.js
我正在尝试做的是调整我的jQuery插件以使用Node.js上的jQuery.
根据我的理解,CommonJS是最基本的形式,需要将一个库包装在一个闭包中,并且该闭包应该作为'exports'参数的参数提供.这样,代码整齐地包含在它自己的命名空间中(通过命名变量),并且不会污染全局命名空间.
jQuery本身应该属于'$'命名空间.
翼:
var $ = require(jquery);
Run Code Online (Sandbox Code Playgroud)
但我的插件也应该适合'$'命名空间.
插件代码:
(function( $ ) {
// plugin code goes here
})(jquery);
exports.jquery = jquery // will this work?
Run Code Online (Sandbox Code Playgroud)
例如:
var $ = require(jquery);
$ = require(jquery-csv.js); // will this work?
Run Code Online (Sandbox Code Playgroud)
要在浏览器中工作,所有内容都设置为可以从'$'命名空间调用,即使我的模块设置为'$'的子命名空间(即'$ .csv').
是否有标准方法可以在单个命名空间上执行多个需求?如果没有,那么有一个可行的替代方案(在插件代码上做一个浅表复制)?
注意:匿名函数包装器遵循标准的jquery指南.
注意:此修复程序将应用于jquery-csv插件.
你的插件中应该需要 jQuery :
var $ = require("jquery");
Run Code Online (Sandbox Code Playgroud)
这也是UMD(通用模块定义)中的技术,它是 CommonJS 和 AMD 的标准。
| 归档时间: |
|
| 查看次数: |
9352 次 |
| 最近记录: |