NPM: gulp-defmod
Github:gulp-defmod
主要工作原理:
- 每个文件用模块定义包裹:
define('module name', function(module, exports) {
// file contents here
});
- 自动转换文件中的
require('relative path')
到require('package/module/file')
- 每个文件的模块名(
require('module name'
) 都是基于 package, 使用文件系统路径 - 使用
package.json
中的main
字段或index.js
作为package主模块 - 如果需要文件合并, 使用
gulp-concat
内置了一个简单的模块加载器, 不涉及到网络部分, 不允许循环依赖, 所有模块都是懒初始化, 且只会初始化一次.
好处: 前后端JS代码完全通用, 使用统一的Node模块风格, 在Node端使用不需要任何工作, 在Browser端才需要这个插件进行转换.
功能上类似Browserify, 刚学Node没多久, 很多东西都不了解, 还请轻拍.