From a0cc0c8ee1adb29f622dd5677841d16f64d4e751 Mon Sep 17 00:00:00 2001 From: "Xc@centOs" Date: Wed, 29 Nov 2023 18:50:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9native=E5=A2=9E=E5=8A=A0=E4=BA=86?= =?UTF-8?q?=E5=AF=B9page=E6=B3=A8=E5=85=A5path=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=BA=86server=E4=B8=AD=E7=9A=84=E4=B8=AA=E5=88=AB=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=82=E6=95=B0=E4=BE=A6=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/native/transformer.js | 3 ++- lib/server/start.js | 6 +++++- src/server/start.ts | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/config/native/transformer.js b/config/native/transformer.js index 0a12332..dc265ce 100644 --- a/config/native/transformer.js +++ b/config/native/transformer.js @@ -21,6 +21,7 @@ const nullthrows = require("nullthrows"); const replaceEnvExpressionPlugin = require('./babelEnvPlugin'); const { injectGetRender } = require('../utils/injectGetRender'); +const oakPathTsxPlugin = require('../babel-plugin/oakPath'); async function renderToCSS({ src, filename, options = {} }) { const { lessOptions = {} } = options; @@ -50,7 +51,7 @@ function transform({ filename, options, plugins, src }) { cwd: options.projectRoot, highlightCode: true, filename, - plugins: plugins.concat(replaceEnvExpressionPlugin), + plugins: plugins.concat([replaceEnvExpressionPlugin, oakPathTsxPlugin]), sourceType: "module", // NOTE(EvanBacon): We split the parse/transform steps up to accommodate // Hermes parsing, but this defaults to cloning the AST which increases diff --git a/lib/server/start.js b/lib/server/start.js index 7834f41..c1ff914 100644 --- a/lib/server/start.js +++ b/lib/server/start.js @@ -27,7 +27,7 @@ async function startup(path, contextBuilder, connector, omitWatchers, omitTimers allowedHeaders: ["oak-cxt"], }; const io = new socket_io_1.Server(httpServer, socketOption); - if (process.env.PM2_STATUS) { + if (process.env.pm_id || process.env.PM_ID) { // pm2环境下要接入clusterAdapter // https://socket.io/zh-CN/docs/v4/pm2/ io.adapter((0, cluster_adapter_1.createAdapter)()); @@ -148,5 +148,9 @@ async function startup(path, contextBuilder, connector, omitWatchers, omitTimers if (!omitTimers) { appLoader.startTimers(); } + process.on('SIGINT', async () => { + await appLoader.unmount(); + process.exit(0); + }); } exports.startup = startup; diff --git a/src/server/start.ts b/src/server/start.ts index 891147c..f46635f 100644 --- a/src/server/start.ts +++ b/src/server/start.ts @@ -35,7 +35,7 @@ export async function startup { + await appLoader.unmount(); + process.exit(0); + }); } \ No newline at end of file