-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpkg-entry.js
35 lines (29 loc) · 1.48 KB
/
pkg-entry.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const fs = require('fs')
const path = require('path')
// 如果是egg的ts项目,由于egg-script会给ts项目通过-r引入sourcemap的注入文件,但是pkg的spawn不支持,所以把项目标识为飞ts
// 如果不是ts项目忽略一下两行
// const pkgInfo = require('./package');
// pkgInfo.egg.typescript = false; // 防止egg-script识别为 typescript 自动添加soucemap支持(--require 在pkg的spawn中不支持)
// 由于egg-script是默认以当前执行proccess.cwd() 路径为默认项目的,打包后需要每次输入 /snapshot/${项目文件夹名} 作为指定目录
// 所以,以下为修改参数,自动嵌入“/snapshot/${项目文件夹名}”
const baseDir = 'c:/snapshot/' + fs.readdirSync('c:/snapshot')[0]
// 当 start 的时候,自动嵌入bashDir为 /snapshot/${项目文件夹名}
// 如果要传入自定义启动参数也可以在这里处理,如指定是否后台运行,指定端口号等
const startIndex = process.argv.indexOf('start')
if (startIndex > -1) {
process.argv = [].concat(
process.argv.slice(0, startIndex + 1),
baseDir,
process.argv.slice(startIndex + 1)
)
}
// 然后直接调起egg-scripts执行
// require('./node_modules/egg-scripts/bin/egg-scripts.js')
require(path.join(__dirname, '/egg-scripts/bin/egg-scripts.js'))
// 使用PM2方式启动
// const egg = require('egg');
// const workers = Number(process.argv[2] || require('os').cpus().length);
// egg.startCluster({
// workers,
// baseDir: __dirname,
// });