Default configuration file added

This commit is contained in:
Giuseppe Digilio
2017-01-27 18:34:24 +01:00
parent 3f484ebf4f
commit 589c9d5822
7 changed files with 73 additions and 94 deletions

5
.gitignore vendored
View File

@@ -5,9 +5,8 @@
/tsd_typings/
npm-debug.log
/config/environment.common.json
/config/environment.prod.json
/config/environment.dev.json
/config/environment.dev.js
/config/environment.prod.js
/coverage

View File

@@ -59,14 +59,11 @@ If you have [`nvm`](https://github.com/creationix/nvm#install-script) or [`nvm-w
* `npm install` to install the local dependencies
## Configuring
Templates for environmental and shareable configuration files are located in `config/` folder in json format.
Default configuration file is located in `config/` folder.
To make the configuration:
* Create a new `environment.common.json` file in `config/` folder using `environment.common.default.json` as template;
* Create a new `environment.dev.json` file in `config/` folder using `environment.default.json` as template;
* Create a new `environment.prod.json` file in `config/` folder using `environment.default.json` as template;
Note: JSON standard does not allow comments so you need to remove them whether you are copying from templates.
To change the default configuration values, create local files that override the parameters you need to change:
* Create a new `environment.dev.js` file in `config/` for `devel` environment;
* Create a new `environment.prod.js` file in `config/` for `production` environment;
To use the configuration parameters in your component:
```bash
@@ -171,8 +168,7 @@ dspace-angular
├── README.md * This document
├── app.json * Application manifest file
├── config * Folder for configuration files
│   ── environment.common.default.json * Template for general configuration file
│   └── environment.default.json * Template for the dev and prod configuration files
│   ── environment.default.js * Default configuration files
├── e2e * Folder for e2e test files
├── karma.conf.js * Unit Test configuration file
├── nodemon.json * Nodemon (https://nodemon.io/) configuration

View File

@@ -1,3 +0,0 @@
{
"title": ""
}

View File

@@ -0,0 +1,14 @@
module.exports = {
"production": false,
// The REST API Location.
"rest": {
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
"nameSpace": "/api",
"baseURL": "http://localhost:3000"
},
// Path and Port in use for this Angular2 UI
"ui": {
"nameSpace": "/",
"baseURL": "http://localhost:3000"
}
}

View File

@@ -1,26 +0,0 @@
{
"production": false,
// Location of REST API
"rest": {
// By default, we are currently using a local proxy running on port 5050.
// This is necessary because our actual REST API doesn't provide CORS headers yet!
// The actual REST API path is in the 'proxy' settings below.
// NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
"nameSpace": "",
"baseURL": ""
},
// REST Location that we are proxying (see src/proxy.ts)
// (Since we are using a proxy at this time, the actual REST API goes here)
"proxy": {
"nameSpace": "",
"baseURL": ""
// E.g. to use demo.dspace.org REST API, use the below values *instead*
//nameSpace: '/rest',
//baseURL: 'https://demo.dspace.org'
},
// Path and Port in use for this Angular2 UI
"ui": {
"nameSpace": "",
"baseURL": ""
}
}

View File

@@ -59,7 +59,6 @@ export class AppComponent implements OnDestroy, OnInit {
@HostListener('window:resize', ['$event'])
private onResize(event): void {
console.log(GlobalConfig.rest.baseURL);
this.store.dispatch(
HostWindowActions.resize(event.target.innerWidth, event.target.innerHeight)
);

View File

@@ -2,33 +2,33 @@
const path = require('path');
let configContext = require.context("../config", false, /json$/);
let configContext = require.context("../config", false, /js$/);
let EnvConfig : any = {};
let EnvConfigFile : string;
let CommonConfig : any = {};
let DefaultConfig : any = {};
try {
CommonConfig = configContext('./environment.common.json');
DefaultConfig = configContext('./environment.default.js');
} catch (e) {
throw new Error(`Cannot find file "${path.resolve('config', './environment.common.json')}"`);
throw new Error(`Cannot find file "${path.resolve('config', './environment.default.js')}"`);
}
switch (process.env.NODE_ENV) {
case 'prod':
case 'production':
EnvConfigFile = './environment.prod.json';
EnvConfigFile = './environment.prod.js';
break;
case 'dev':
case 'development':
default:
EnvConfigFile = './environment.dev.json';
EnvConfigFile = './environment.dev.js';
}
try {
EnvConfig = configContext(EnvConfigFile);
} catch (e) {
throw new Error(`Cannot find file "${path.resolve('config', EnvConfigFile)}"`);
EnvConfig = {};
}
const GlobalConfig = Object.assign(CommonConfig, EnvConfig);
const GlobalConfig = Object.assign(DefaultConfig, EnvConfig);
export {GlobalConfig}