Browse Source

上传文件至 ''

master
sunshine 10 months ago
parent
commit
e09a96d836
  1. 68
      build.js
  2. 3976
      package-lock.json
  3. 30
      package.json
  4. 2
      pm2.json

68
build.js

@ -0,0 +1,68 @@
// const esbuild = require('esbuild');
// import esbuild from 'esbuild';
// import fs from 'fs';
// import path from 'path';
const esbuild = require('esbuild');
const fs = require('fs');
const path = require('path')
const targetDir = 'dist';
async function build()
{
const result = await esbuild.build({
entryPoints: ['src/app.ts'],
bundle: true,
platform: 'node',
sourcemap: 'external',
outfile: `${targetDir}/app.js`,
external: ['punycode']
}).catch(() => process.exit(1))
copyFiles();
}
function copyFiles()
{
const sdk = JSON.parse(fs.readFileSync(path.join(process.cwd(), './src/com/7zcloud/', './config/sdk.json'), {encoding: 'utf-8'}))
copyConfigs(sdk);
copySdks(sdk);
}
function copyConfigs(sdk)
{
const len = sdk.sdkpath.length;
const targetPaths = [];
for(let i = 0;i < len;i ++){
let sdkPath = sdk.sdkpath[i];
sdkPath = sdkPath.substring(sdkPath.lastIndexOf('/'));
targetPaths.push(`./sdk${sdkPath}`)
}
const targetSdk = {
sdkpath: targetPaths,
isDev: false
}
const dirPath = mkdirSync('config')
fs.writeFileSync(path.join(dirPath, `/sdk.json`), JSON.stringify(targetSdk, null, 4));
}
function copySdks(sdk)
{
const targetDir = mkdirSync('sdk')
for(let i = 0;i < sdk.sdkpath.length;i ++)
{
let sdkPath = sdk.sdkpath[i];
sdkPath = sdkPath.substring(sdkPath.lastIndexOf('/'));
fs.copyFileSync(path.join(process.cwd(), sdk.sdkpath[i]), `${targetDir}${sdkPath}`)
}
}
function mkdirSync(dir)
{
const dirPath = path.join(process.cwd(), `${targetDir}/${dir}`);
if(fs.existsSync(dirPath) === false){
fs.mkdirSync(dirPath);
}
return dirPath;
}
build();

3976
package-lock.json

File diff suppressed because it is too large

30
package.json

@ -1,18 +1,30 @@
{
"name": "design_node_koa",
"name": "nodejs",
"version": "1.0.0",
"description": "node server",
"main": "app.js",
"main": "index.js",
"scripts": {
"start:dev": "cross-env NODE_ENV=dev nodemon app.js",
"start:test": "cross-env NODE_ENV=test pm2 start pm2.json",
"start:stg": "cross-env NODE_ENV=stg pm2 start pm2.json",
"start:prod": "cross-env NODE_ENV=prod pm2 start pm2.json"
"tsnode": "ts-node ./src/index.ts",
"build": "node ./build.js",
"start:dev": "npm run build && cross-env NODE_ENV=dev nodemon app.js",
"start:test": "npm run build && cross-env NODE_ENV=test pm2 start pm2.json",
"start:stg": "npm run build && cross-env NODE_ENV=stg pm2 start pm2.json",
"start:prod": "npm run build && cross-env NODE_ENV=prod pm2 start pm2.json",
"test": "cross-env NODE_ENV=test ts-node ./src/app.ts"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"@types/koa": "^2.15.0",
"@types/koa-json": "^2.0.23",
"@types/koa-router": "^7.4.8",
"@types/node": "^20.14.9",
"typescript": "^5.5.2"
},
"dependencies": {
"axios": "^1.7.0",
"esbuild": "^0.21.5",
"koa": "^2.13.0",
"koa-body": "^4.2.0",
"koa-helmet": "^6.0.0",
@ -23,9 +35,5 @@
"md5": "^2.3.0",
"moment": "^2.29.1",
"nodemon": "^2.0.6"
},
"devDependencies": {
"console-color-mr": "^2.0.1",
"cross-env": "^7.0.3"
}
}

2
pm2.json

@ -2,7 +2,7 @@
"apps": [
{
"name": "design_node_koa",
"script": "app.js",
"script": "./dist/app.js",
"log_date_format": "YYYY-MM-DD HH:mm Z",
"error_file": "logs/error.log",
"out_file": "logs/out.log",

Loading…
Cancel
Save