Commit e73890e9 authored by 前端-许佳敏's avatar 前端-许佳敏

chore: init

parent c04194ac
......@@ -165,4 +165,12 @@ module.exports = {
forcePasv: true
})
},
// 阿里云demo站更新
"v2-ali-demo": {
SITE_ID: '1',
BACK_GATEWAY: 'http://lingxi-scm-gateway.shushangyun.com:13880',
USE_ROUTE_CONFIG: true,
SOCKET_URL: 'ws://lingxi-scm-gateway.shushangyun.com:13880',
YAPI_URL: 'http://10.0.0.25:4000/'
}
}
......@@ -12,7 +12,7 @@
"upload:v2Test": "cross-env PRO_ENV=v2Test taskName=upload yarn scripts:build",
"api": "cross-env PRO_ENV=v2 god-ytt",
"start:analyze": "ANALYZE=1 umi dev",
"scripts:build": "node scripts/run",
"scripts:build": "node scripts/init && node scripts/run",
"scripts:init": "node scripts/init",
"scripts:build-yxc": "node scripts/run http://yxc-web-demo.shushangyun.com/api",
"start": "yarn scripts:init && yarn api && yarn scripts:build && umi dev",
......
const path = require('path')
const envValue = require('../env')
const { setEnv } = require('./utils/envTool')
const fs = require('fs');
const path = require('path');
/**
* 初始化脚本
* 用于新项目启动时缺少必要文件, 做的初始化脚本
*/
function validateEnvParams() {
const validateErrorsMaps = {
SITE_ID: `请检查站点ID是否传入,--- ${process.env.SITE_ID} ---`,
BACK_GATEWAY: `请检查后端网关是否传入, --- ${process.env.BACK_GATEWAY} ---`,
SOCKET_URL: `请检查socket链接是否传入, --- ${process.env.SOCKET_URL} ---`,
YAPI_URL: `请检查yapi的请求连接是否传入, --- ${process.env.YAPI_URL} ---`,
}
const cwd = process.cwd();
Object.keys(validateErrorsMaps).map(key => {
if (!process.env[key]) {
throw validateErrorsMaps[key]
}
})
}
// 将env.js的内容注入到 项目中
function injectEnvParams() {
const { PRO_ENV } = process.env
if (!PRO_ENV) {
throw `请传入PRO_ENV作为环境变量`
async function init() {
try {
await ensureFile(cwdPath('config/base.config.json'), '{}');
await ensureFile(cwdPath('config/router.config.json'), '[]');
await ensureFile(cwdPath('yapi_hashmaps.json'), '{}');
} catch (error) {
console.log(error);
process.exit(1);
}
const envMaps = envValue[PRO_ENV]
setEnv(envMaps)
}
function init() {
injectEnvParams()
/**
* 判断文件是否存在,如果不存在则创建,并写入对应初始值
*/
async function ensureFile(pathFile, defaultData) {
return new Promise((resolve, reject) => {
fs.open(pathFile, 'wx', function(err) {
if (err) {
if (err.code === 'EEXIST') {
resolve()
}
reject(err)
return ;
}
fs.writeFile(pathFile, defaultData, function(err) {
if (err) {
console.error(`初始化${pathFile}失败`);
reject(err);
}
console.log(`初始化${pathFile}成功`);
resolve(defaultData);
});
return;
});
});
}
// 校验参数是否都成功传入
validateEnvParams()
function cwdPath(filePath) {
return path.resolve(cwd, filePath);
}
init()
init();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment