staging环境也支持跨域
This commit is contained in:
parent
659e66cd7f
commit
fad76fa8a0
|
|
@ -15,6 +15,7 @@ const socket_io_1 = require("socket.io");
|
||||||
const cluster_adapter_1 = require("@socket.io/cluster-adapter");
|
const cluster_adapter_1 = require("@socket.io/cluster-adapter");
|
||||||
const sticky_1 = require("@socket.io/sticky");
|
const sticky_1 = require("@socket.io/sticky");
|
||||||
const DATA_SUBSCRIBER_NAMESPACE = '/ds';
|
const DATA_SUBSCRIBER_NAMESPACE = '/ds';
|
||||||
|
const SERVER_SUBSCRIBER_NAMESPACE = process.env.OAK_SSUB_NAMESPACE || '/ssub';
|
||||||
async function startup(path, contextBuilder, connector, omitWatchers, omitTimers, routine) {
|
async function startup(path, contextBuilder, connector, omitWatchers, omitTimers, routine) {
|
||||||
const koa = new koa_1.default();
|
const koa = new koa_1.default();
|
||||||
// socket
|
// socket
|
||||||
|
|
@ -39,7 +40,9 @@ async function startup(path, contextBuilder, connector, omitWatchers, omitTimers
|
||||||
else {
|
else {
|
||||||
console.log('以单实例模式启动');
|
console.log('以单实例模式启动');
|
||||||
}
|
}
|
||||||
const appLoader = clusterInfo.usingCluster ? new oak_backend_base_1.ClusterAppLoader(path, contextBuilder, io.of(DATA_SUBSCRIBER_NAMESPACE)) : new oak_backend_base_1.AppLoader(path, contextBuilder, io.of(DATA_SUBSCRIBER_NAMESPACE));
|
const appLoader = clusterInfo.usingCluster
|
||||||
|
? new oak_backend_base_1.ClusterAppLoader(path, contextBuilder, io.of(DATA_SUBSCRIBER_NAMESPACE), io.of(SERVER_SUBSCRIBER_NAMESPACE), connector.getSubscribeRouter())
|
||||||
|
: new oak_backend_base_1.AppLoader(path, contextBuilder);
|
||||||
await appLoader.mount();
|
await appLoader.mount();
|
||||||
await appLoader.execStartRoutines();
|
await appLoader.execStartRoutines();
|
||||||
if (routine) {
|
if (routine) {
|
||||||
|
|
@ -67,7 +70,7 @@ async function startup(path, contextBuilder, connector, omitWatchers, omitTimers
|
||||||
const router = new koa_router_1.default();
|
const router = new koa_router_1.default();
|
||||||
const serverConfig = require(path_1.default.join(path, '/configuration/server.json'));
|
const serverConfig = require(path_1.default.join(path, '/configuration/server.json'));
|
||||||
// 如果是开发环境,允许options
|
// 如果是开发环境,允许options
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (['development', 'staging'].includes(process.env.NODE_ENV)) {
|
||||||
koa.use(async (ctx, next) => {
|
koa.use(async (ctx, next) => {
|
||||||
ctx.set('Access-Control-Allow-Origin', '*');
|
ctx.set('Access-Control-Allow-Origin', '*');
|
||||||
ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, oak-cxt, oak-aspect');
|
ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, oak-cxt, oak-aspect');
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,9 @@ function packageJsonContent({ name, version, description, cliVersion, cliName, c
|
||||||
let oakDependencyStr;
|
let oakDependencyStr;
|
||||||
let oakDevDependencyStr;
|
let oakDevDependencyStr;
|
||||||
if (isDev) {
|
if (isDev) {
|
||||||
oakDependencyStr = `"oak-common-aspect": "file:../oak-common-aspect",
|
oakDependencyStr = `
|
||||||
|
"oak-backend-base": "file:../oak-backend-base",
|
||||||
|
"oak-common-aspect": "file:../oak-common-aspect",
|
||||||
"oak-db": "file:../oak-db",
|
"oak-db": "file:../oak-db",
|
||||||
"oak-domain": "file:../oak-domain",
|
"oak-domain": "file:../oak-domain",
|
||||||
"oak-external-sdk": "file:../oak-external-sdk",
|
"oak-external-sdk": "file:../oak-external-sdk",
|
||||||
|
|
@ -16,7 +18,9 @@ function packageJsonContent({ name, version, description, cliVersion, cliName, c
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// todo,这里从npmjs.org上获取最新版本
|
// todo,这里从npmjs.org上获取最新版本
|
||||||
oakDependencyStr = `"oak-common-aspect": "^2.1.0",
|
oakDependencyStr = `
|
||||||
|
"oak-backend-base": "^3.2.0",
|
||||||
|
"oak-common-aspect": "^2.1.0",
|
||||||
"oak-db": "^2.1.1",
|
"oak-db": "^2.1.1",
|
||||||
"oak-domain": "^2.1.0",
|
"oak-domain": "^2.1.0",
|
||||||
"oak-external-sdk": "^1.0.5",
|
"oak-external-sdk": "^1.0.5",
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,8 @@ import { createAdapter } from "@socket.io/cluster-adapter";
|
||||||
import { setupWorker } from "@socket.io/sticky";
|
import { setupWorker } from "@socket.io/sticky";
|
||||||
|
|
||||||
const DATA_SUBSCRIBER_NAMESPACE = '/ds';
|
const DATA_SUBSCRIBER_NAMESPACE = '/ds';
|
||||||
|
const SERVER_SUBSCRIBER_NAMESPACE = process.env.OAK_SSUB_NAMESPACE || '/ssub';
|
||||||
|
|
||||||
export async function startup<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>, FrontCxt extends SyncContext<ED>>(
|
export async function startup<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>, FrontCxt extends SyncContext<ED>>(
|
||||||
path: string,
|
path: string,
|
||||||
contextBuilder: (scene?: string) => (store: AsyncRowStore<ED, Cxt>, header?: IncomingHttpHeaders, clusterInfo?: ClusterInfo) => Promise<Cxt>,
|
contextBuilder: (scene?: string) => (store: AsyncRowStore<ED, Cxt>, header?: IncomingHttpHeaders, clusterInfo?: ClusterInfo) => Promise<Cxt>,
|
||||||
|
|
@ -48,7 +50,9 @@ export async function startup<ED extends EntityDict & BaseEntityDict, Cxt extend
|
||||||
console.log('以单实例模式启动');
|
console.log('以单实例模式启动');
|
||||||
}
|
}
|
||||||
|
|
||||||
const appLoader = clusterInfo.usingCluster ? new ClusterAppLoader(path, contextBuilder, io.of(DATA_SUBSCRIBER_NAMESPACE)) : new AppLoader(path, contextBuilder, io.of(DATA_SUBSCRIBER_NAMESPACE));
|
const appLoader = clusterInfo.usingCluster
|
||||||
|
? new ClusterAppLoader(path, contextBuilder, io.of(DATA_SUBSCRIBER_NAMESPACE), io.of(SERVER_SUBSCRIBER_NAMESPACE), connector.getSubscribeRouter())
|
||||||
|
: new AppLoader(path, contextBuilder);
|
||||||
await appLoader.mount();
|
await appLoader.mount();
|
||||||
await appLoader.execStartRoutines();
|
await appLoader.execStartRoutines();
|
||||||
if (routine) {
|
if (routine) {
|
||||||
|
|
@ -78,7 +82,7 @@ export async function startup<ED extends EntityDict & BaseEntityDict, Cxt extend
|
||||||
|
|
||||||
const serverConfig = require(PathLib.join(path, '/configuration/server.json'));
|
const serverConfig = require(PathLib.join(path, '/configuration/server.json'));
|
||||||
// 如果是开发环境,允许options
|
// 如果是开发环境,允许options
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (['development', 'staging'].includes(process.env.NODE_ENV!)) {
|
||||||
koa.use(async (ctx, next) => {
|
koa.use(async (ctx, next) => {
|
||||||
ctx.set('Access-Control-Allow-Origin', '*');
|
ctx.set('Access-Control-Allow-Origin', '*');
|
||||||
ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, oak-cxt, oak-aspect');
|
ctx.set('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With, oak-cxt, oak-aspect');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue