@fdt/dev-base
Version:
104 lines (78 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.appDev = appDev;
exports.appBuild = appBuild;
exports.default = exports.AppMain = void 0;
function _react() {
const data = _interopRequireDefault(require("react"));
_react = function _react() {
return data;
};
return data;
}
function _fs() {
const data = _interopRequireDefault(require("fs"));
_fs = function _fs() {
return data;
};
return data;
}
var _app = _interopRequireDefault(require("./app.dev"));
var _app2 = _interopRequireDefault(require("./app.prod"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
*
* 主配置文件
*/
class AppMain {
constructor() {
this.cwd = process.cwd();
this.appDev = null;
this.appProd = null;
this.customerConfig = null;
// 读取配置文件
this.getCustomerConfig();
}
getCustomerConfig() {
let configFilePath = this.cwd + '/.fdtrc.js';
if (!_fs().default.existsSync(configFilePath)) {
return;
}
const config = require(configFilePath);
if (config) {
this.customerConfig = config;
}
}
start(params) {
params.cwd = this.cwd;
params.customerConfig = this.customerConfig; // 根据mode不同初始化不同的配置
if (params.mode === 'development') {
this.appDev = new _app.default(params);
this.appDev.start();
} else if (params.mode === 'production') {
this.appProd = new _app2.default(params);
this.appProd.start();
}
} // 本地开发环境
dev() {
this.start({
mode: 'development'
});
} // 打包正式环境
build() {
this.start({
mode: 'production'
});
}
}
exports.AppMain = AppMain;
function appDev() {
new AppMain().dev();
}
function appBuild() {
new AppMain().build();
}
var _default = AppMain;
exports.default = _default;