写了一个gulp插件, 转换nodejs包到Browser端使用, 共享代码
发布于 9 年前 作者 cosiner 4221 次浏览 最后一次编辑是 8 年前 来自 分享

NPM: gulp-defmod
Github:gulp-defmod

主要工作原理:

  1. 每个文件用模块定义包裹:
define('module name', function(module, exports) {
    // file contents here
});
  1. 自动转换文件中的require('relative path')require('package/module/file')
  2. 每个文件的模块名(require('module name') 都是基于 package, 使用文件系统路径
  3. 使用package.json中的main字段或index.js作为package主模块
  4. 如果需要文件合并, 使用gulp-concat
    内置了一个简单的模块加载器, 不涉及到网络部分, 不允许循环依赖, 所有模块都是懒初始化, 且只会初始化一次.

好处: 前后端JS代码完全通用, 使用统一的Node模块风格, 在Node端使用不需要任何工作, 在Browser端才需要这个插件进行转换.

功能上类似Browserify, 刚学Node没多久, 很多东西都不了解, 还请轻拍.

回到顶部