akfun
Version:
前端脚手架:支持Vue技术栈和react技术栈
39 lines (34 loc) • 1.44 kB
JavaScript
const getProjectConfig = require('./config/index'); // 用于获取当前项目配置文件
const { curConsoleTag } = require('./utils/akfunParams');
const rollupBuild = require('./rollup/build');
const rollupConfig = require('./rollup/rollup.config'); // rollup的配置文件
/**
* 用于构建 esm 模块
* @param {*} akfunConfig akfun 配置文件
* @param {*} _consoleTag 控制台输出标签
*
* * 支持的配置项目(akfunConfig.build2esm)
* - type: 项目构建类型(ts、js)
* - format: 构建格式(esm、cjs)
* - input: 构建入口文件
* - fileName: 构建输出文件名
* - outDir: 构建输出目录
* - excludeList: 构建排除列表
* - declaration: 是否生成声明文件
* - declarationDir: 声明文件输出目录
* - svgDir: svg文件输出目录
* - plugins: 自定义rollup插件
* - babelPlugins: 自定义babel插件
*/
// 构建脚本:一般用于构建生产环境的代码
module.exports = function (akfunConfig, _consoleTag) {
const consoleTag = _consoleTag || curConsoleTag;
// 获取项目配置文件
let config = getProjectConfig(akfunConfig);
const build2esm = config.build2esm; // 用户的项目配置
const curRollupConfig = rollupConfig(config, build2esm); // 默认配置
if (build2esm && !build2esm.format) {
build2esm.format = 'esm'; // 默认构建格式为 esm
}
rollupBuild(config, build2esm, curRollupConfig, consoleTag);
};