公司遗留了个 seajs 的项目,我看了下 js 都是用 seajs 模块化编写的,例如
drag.js
define(function (require, exports, module) {
"require:nomunge,exports:nomunge,module:nomunge";
var var1;
Drag.prototype = {
...
}
return Drag
})
dialog.js
define(function (require, exports, module) {
"require:nomunge,exports:nomunge,module:nomunge";
var Drag = require('./drag');
var var1, var2;
Dialog.prototype = {
...
}
return Dialog
})
由于对 seajs 不熟悉,并且我看了下这种前端的开发模式会和 rails 项目在生产模式下 Asset Pipeline 冲突,请教下各位高手,能否将这些用 seajs 写的模块化 js 提取成原生的 js 函数类或者对象,如果我直接把 define 里面的内容不加修改的提取出来,肯定会遇到很多局部变量的重复命名冲突的,我的想法是能否用 js 的闭包或者其他什么方法,把原来的 seajs 的每一个 module 封装成类或者对象,用 return 来替换原先的 module.exports 的作用,例如我下面写的伪代码
drag.js
var drag=function(){
Drag.prototype = {
...
}
return Drag
}
dialog.js
var dialog=function(){
Dailog.prototype = {
...
}
return Dailog
}
请教下论坛里的 javascript 的前端高手,能否给个解决方案或者例子。