mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-13 04:53:06 +00:00
Ensure correct environment file used.
This commit is contained in:
@@ -1,18 +1,19 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
// The REST API server settings.
|
// The REST API server settings.
|
||||||
"rest": {
|
"rest": {
|
||||||
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
"ssl": false,
|
||||||
"nameSpace": "/api",
|
|
||||||
"protocol": "http",
|
|
||||||
"address": "localhost",
|
"address": "localhost",
|
||||||
"port": 3000
|
"port": 3000,
|
||||||
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
|
"nameSpace": "/api"
|
||||||
},
|
},
|
||||||
// Angular2 UI server settings.
|
// Angular2 UI server settings.
|
||||||
"ui": {
|
"ui": {
|
||||||
"nameSpace": "/",
|
"ssl": false,
|
||||||
"protocol": "http",
|
|
||||||
"address": "localhost",
|
"address": "localhost",
|
||||||
"port": 3000
|
"port": 3000,
|
||||||
|
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
|
||||||
|
"nameSpace": "/"
|
||||||
},
|
},
|
||||||
"cache": {
|
"cache": {
|
||||||
// how long should objects be cached for by default
|
// how long should objects be cached for by default
|
||||||
|
@@ -10,8 +10,12 @@ import { bootloader } from '@angularclass/bootloader';
|
|||||||
|
|
||||||
import { load as loadWebFont } from 'webfontloader';
|
import { load as loadWebFont } from 'webfontloader';
|
||||||
|
|
||||||
|
import { EnvConfig } from './config';
|
||||||
|
|
||||||
|
if (EnvConfig.production) {
|
||||||
// enable prod for faster renders
|
// enable prod for faster renders
|
||||||
// enableProdMode();
|
enableProdMode();
|
||||||
|
}
|
||||||
|
|
||||||
import { MainModule } from './platform/modules/browser.module';
|
import { MainModule } from './platform/modules/browser.module';
|
||||||
|
|
||||||
|
@@ -2,10 +2,10 @@
|
|||||||
import { OpaqueToken } from '@angular/core';
|
import { OpaqueToken } from '@angular/core';
|
||||||
|
|
||||||
interface ServerConfig {
|
interface ServerConfig {
|
||||||
"nameSpace": string;
|
"ssl": boolean;
|
||||||
"protocol": string;
|
|
||||||
"address": string;
|
"address": string;
|
||||||
"port": number;
|
"port": number;
|
||||||
|
"nameSpace": string;
|
||||||
"baseUrl": string;
|
"baseUrl": string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,27 +32,28 @@ let EnvConfigFile: string;
|
|||||||
|
|
||||||
let production: boolean = false;
|
let production: boolean = false;
|
||||||
|
|
||||||
|
// check process.env.NODE_ENV to determine which environment config to use
|
||||||
|
// process.env.NODE_ENV is defined by webpack, else assume development
|
||||||
switch (process.env.NODE_ENV) {
|
switch (process.env.NODE_ENV) {
|
||||||
case 'prod':
|
case 'prod':
|
||||||
case 'production':
|
case 'production':
|
||||||
production = true;
|
// webpack.prod.config.ts defines process.env.NODE_ENV = 'production'
|
||||||
EnvConfigFile = './environment.prod.js';
|
EnvConfigFile = './environment.prod.js';
|
||||||
break;
|
production = true;
|
||||||
case 'dev':
|
|
||||||
case 'development':
|
|
||||||
EnvConfigFile = './environment.dev.js';
|
|
||||||
break;
|
break;
|
||||||
case 'test':
|
case 'test':
|
||||||
|
// webpack.test.config.ts defines process.env.NODE_ENV = 'test'
|
||||||
EnvConfigFile = './environment.test.js';
|
EnvConfigFile = './environment.test.js';
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.warn('Environment file not specified. Using default.');
|
// if not using webpack.prod.config.ts or webpack.test.config.ts, it must be development
|
||||||
|
EnvConfigFile = './environment.dev.js';
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
EnvConfig = configContext('./environment.default.js');
|
EnvConfig = configContext('./environment.default.js');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw new Error("Cannot find file ./environment.default.js");
|
throw new Error("Cannot find file environment.default.js");
|
||||||
}
|
}
|
||||||
|
|
||||||
// if EnvConfigFile set try to get configs
|
// if EnvConfigFile set try to get configs
|
||||||
@@ -60,18 +61,18 @@ if (EnvConfigFile) {
|
|||||||
try {
|
try {
|
||||||
EnvConfig = <GlobalConfig>Object.assign(EnvConfig, configContext(EnvConfigFile));
|
EnvConfig = <GlobalConfig>Object.assign(EnvConfig, configContext(EnvConfigFile));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.warn("Cannot find file " + EnvConfigFile);
|
console.warn("Cannot find file " + EnvConfigFile.substring(2, EnvConfigFile.length), "Using default environment.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// set base url if propery is object with protocol, address, and port. i.e. ServerConfig
|
// set base url if property is object with ssl, address, and port. i.e. ServerConfig
|
||||||
for (let key in EnvConfig) {
|
for (let key in EnvConfig) {
|
||||||
if (EnvConfig[key].protocol && EnvConfig[key].address && EnvConfig[key].port) {
|
if (EnvConfig[key].ssl !== undefined && EnvConfig[key].address && EnvConfig[key].port) {
|
||||||
EnvConfig[key].baseUrl = [EnvConfig[key].protocol, '://', EnvConfig[key].address, (EnvConfig[key].port !== 80) ? ':' + EnvConfig[key].port : ''].join('');
|
EnvConfig[key].baseUrl = [EnvConfig[key].ssl ? 'https://' : 'http://', EnvConfig[key].address, (EnvConfig[key].port !== 80) ? ':' + EnvConfig[key].port : ''].join('');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// set config for running in production
|
// set config for whether running in production
|
||||||
EnvConfig.production = production;
|
EnvConfig.production = production;
|
||||||
|
|
||||||
export { GLOBAL_CONFIG, GlobalConfig, EnvConfig }
|
export { GLOBAL_CONFIG, GlobalConfig, EnvConfig }
|
||||||
|
@@ -124,5 +124,5 @@ app.get('*', function (req, res) {
|
|||||||
|
|
||||||
// Server
|
// Server
|
||||||
let server = app.listen(app.get('port'), app.get('address'), () => {
|
let server = app.listen(app.get('port'), app.get('address'), () => {
|
||||||
console.log(`Listening on: ${EnvConfig.ui.protocol}://${server.address().address}:${server.address().port}`);
|
console.log(`Listening on: ${EnvConfig.ui.ssl ? 'https://' : 'http://'}://${server.address().address}:${server.address().port}`);
|
||||||
});
|
});
|
||||||
|
@@ -26,8 +26,10 @@ import { routes } from './server.routes';
|
|||||||
|
|
||||||
import { EnvConfig } from './config';
|
import { EnvConfig } from './config';
|
||||||
|
|
||||||
|
if (EnvConfig.production) {
|
||||||
// enable prod for faster renders
|
// enable prod for faster renders
|
||||||
enableProdMode();
|
enableProdMode();
|
||||||
|
}
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const ROOT = path.join(path.resolve(__dirname, '..'));
|
const ROOT = path.join(path.resolve(__dirname, '..'));
|
||||||
@@ -116,5 +118,5 @@ app.get('*', function (req, res) {
|
|||||||
|
|
||||||
// Server
|
// Server
|
||||||
let server = app.listen(app.get('port'), app.get('address'), () => {
|
let server = app.listen(app.get('port'), app.get('address'), () => {
|
||||||
console.log(`Listening on: ${EnvConfig.ui.protocol}://${server.address().address}:${server.address().port}`);
|
console.log(`Listening on: ${EnvConfig.ui.ssl ? 'https://' : 'http://'}://${server.address().address}:${server.address().port}`);
|
||||||
});
|
});
|
||||||
|
@@ -94,7 +94,6 @@ export var clientConfig = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Server.
|
// Server.
|
||||||
export var serverPlugins = [
|
export var serverPlugins = [
|
||||||
|
|
||||||
@@ -133,9 +132,6 @@ export default [
|
|||||||
webpackMerge(clone(commonConfig), serverConfig, { plugins: serverPlugins.concat(commonPlugins) })
|
webpackMerge(clone(commonConfig), serverConfig, { plugins: serverPlugins.concat(commonPlugins) })
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Helpers
|
// Helpers
|
||||||
export function includeClientPackages(packages, localModule?: string[]) {
|
export function includeClientPackages(packages, localModule?: string[]) {
|
||||||
return function(context, request, cb) {
|
return function(context, request, cb) {
|
||||||
|
Reference in New Issue
Block a user