模块编译与发布

2018-11-22 09:31:25

模块编译的意义

  1. 在一个模块中,可以单独设置后端路由、控制器、服务、中间件、国际化、参数配置等资源
  2. EggJS中,这些资源都是通过约定代码位置的方式组织并加载的。而在EggBorn模块中,这些资源都是通过require的方式显式组织并加载的。因此,模块可以进行单独编译
  3. 模块可单独编译,从而可以单独发布、单独部署,单独升级,从而促进CabloyJS整个生态圈的繁荣,进一步加速实际业务的开发
  4. 另一方面,模块可单独编译,也可以满足保护商业代码的需求

如何编译模块

$ cd /path/to/module
$ npm run build:front
$ npm run build:backend

编译参数

src/module/test-todo/build/config.js

module.exports = {
  productionSourceMap: true,
  uglify: false,
};
名称 说明
productionSourceMap 是否生成SourceMap文件
uglify 是否uglify代码

模块发布

当项目中的模块代码稳定后,可以将模块公开发布,贡献到开源社区。也可以在公司内部建立npm私有仓库,然后把模块发布到私有仓库,形成公司资产,便于重复使用

$ cd /path/to/module
$ npm publish


评论: