mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
Default configuration file added
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -5,9 +5,8 @@
|
|||||||
/tsd_typings/
|
/tsd_typings/
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
|
|
||||||
/config/environment.common.json
|
/config/environment.dev.js
|
||||||
/config/environment.prod.json
|
/config/environment.prod.js
|
||||||
/config/environment.dev.json
|
|
||||||
|
|
||||||
/coverage
|
/coverage
|
||||||
|
|
||||||
|
88
README.md
88
README.md
@@ -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
|
* `npm install` to install the local dependencies
|
||||||
|
|
||||||
## Configuring
|
## 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:
|
To change the default configuration values, create local files that override the parameters you need to change:
|
||||||
* Create a new `environment.common.json` file in `config/` folder using `environment.common.default.json` as template;
|
* Create a new `environment.dev.js` file in `config/` for `devel` environment;
|
||||||
* Create a new `environment.dev.json` file in `config/` folder using `environment.default.json` as template;
|
* Create a new `environment.prod.js` file in `config/` for `production` environment;
|
||||||
* 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 use the configuration parameters in your component:
|
To use the configuration parameters in your component:
|
||||||
```bash
|
```bash
|
||||||
@@ -168,45 +165,44 @@ See [the guide on the wiki](https://wiki.duraspace.org/display/DSPACE/DSpace+7+-
|
|||||||
## File Structure
|
## File Structure
|
||||||
```
|
```
|
||||||
dspace-angular
|
dspace-angular
|
||||||
├── README.md * This document
|
├── README.md * This document
|
||||||
├── app.json * Application manifest file
|
├── app.json * Application manifest file
|
||||||
├── config * Folder for configuration files
|
├── config * Folder for configuration files
|
||||||
│ ├── environment.common.default.json * Template for general configuration file
|
│ └── environment.default.js * Default configuration files
|
||||||
│ └── environment.default.json * Template for the dev and prod configuration files
|
├── e2e * Folder for e2e test files
|
||||||
├── e2e * Folder for e2e test files
|
├── karma.conf.js * Unit Test configuration file
|
||||||
├── karma.conf.js * Unit Test configuration file
|
├── nodemon.json * Nodemon (https://nodemon.io/) configuration
|
||||||
├── nodemon.json * Nodemon (https://nodemon.io/) configuration
|
├── package.json * This file describes the npm package for this project, its dependencies, scripts, etc.
|
||||||
├── package.json * This file describes the npm package for this project, its dependencies, scripts, etc.
|
├── postcss.config.json * PostCSS (http://postcss.org/) configuration file
|
||||||
├── postcss.config.json * PostCSS (http://postcss.org/) configuration file
|
├── protractor.conf.js * E2E tests configuration file
|
||||||
├── protractor.conf.js * E2E tests configuration file
|
├── resources * Folder for static resources
|
||||||
├── resources * Folder for static resources
|
│ ├── i18n * Folder for i18n translations
|
||||||
│ ├── i18n * Folder for i18n translations
|
│ └── images * Folder for images
|
||||||
│ └── images * Folder for images
|
├── rollup-client.js * Rollup (http://rollupjs.org/) configuration for the client
|
||||||
├── rollup-client.js * Rollup (http://rollupjs.org/) configuration for the client
|
├── rollup-server.js * Rollup (http://rollupjs.org/) configuration for the server
|
||||||
├── rollup-server.js * Rollup (http://rollupjs.org/) configuration for the server
|
├── src * The source of the application
|
||||||
├── src * The source of the application
|
│ ├── app * The location of the app module, and root of the application shared by client and server
|
||||||
│ ├── app * The location of the app module, and root of the application shared by client and server
|
│ ├── backend * Folder containing a mock of the REST API, hosted by the express server
|
||||||
│ ├── backend * Folder containing a mock of the REST API, hosted by the express server
|
│ ├── browser.module.ts * The root module for the client
|
||||||
│ ├── browser.module.ts * The root module for the client
|
│ ├── client.aot.ts * The bootstrap file for the client, in production
|
||||||
│ ├── client.aot.ts * The bootstrap file for the client, in production
|
│ ├── client.ts * The bootstrap file for the client, during development
|
||||||
│ ├── client.ts * The bootstrap file for the client, during development
|
│ ├── config.ts * File that loads environmental and shareable settings and makes them available to app components
|
||||||
│ ├── config.ts * File that loads environmental and shareable settings and makes them available to app components
|
│ ├── index-aot.html * The index.html file, for production
|
||||||
│ ├── index-aot.html * The index.html file, for production
|
│ ├── index.html * The index.html file, for development
|
||||||
│ ├── index.html * The index.html file, for development
|
│ ├── node.module.ts * The root module for the server
|
||||||
│ ├── node.module.ts * The root module for the server
|
│ ├── server.aot.ts * The express (http://expressjs.com/) config and bootstrap file for the server, in production
|
||||||
│ ├── server.aot.ts * The express (http://expressjs.com/) config and bootstrap file for the server, in production
|
│ ├── server.routes.ts * The routes file for the server
|
||||||
│ ├── server.routes.ts * The routes file for the server
|
│ ├── server.ts * The express (http://expressjs.com/) config and bootstrap file for the server, during development
|
||||||
│ ├── server.ts * The express (http://expressjs.com/) config and bootstrap file for the server, during development
|
│ ├── styles * Folder containing global styles.
|
||||||
│ ├── styles * Folder containing global styles.
|
│ │ ├── main.scss * Global scss file
|
||||||
│ │ ├── main.scss * Global scss file
|
│ │ └── variables.scss * Global sass variables file
|
||||||
│ │ └── variables.scss * Global sass variables file
|
│ └── typings.d.ts * File that allows you to add custom typings for libraries without TypeScript support
|
||||||
│ └── typings.d.ts * File that allows you to add custom typings for libraries without TypeScript support
|
├── tsconfig.aot.json * TypeScript config for production builds
|
||||||
├── tsconfig.aot.json * TypeScript config for production builds
|
├── tsconfig.json * TypeScript config for development build
|
||||||
├── tsconfig.json * TypeScript config for development build
|
├── tslint.json * TSLint (https://palantir.github.io/tslint/) configuration
|
||||||
├── tslint.json * TSLint (https://palantir.github.io/tslint/) configuration
|
├── webpack.config.ts * Webpack (https://webpack.github.io/) config for development builds
|
||||||
├── webpack.config.ts * Webpack (https://webpack.github.io/) config for development builds
|
├── webpack.test.config.ts * Webpack (https://webpack.github.io/) config for testing
|
||||||
├── webpack.test.config.ts * Webpack (https://webpack.github.io/) config for testing
|
└── webpack.prod.config.ts * Webpack (https://webpack.github.io/) config for production builds
|
||||||
└── webpack.prod.config.ts * Webpack (https://webpack.github.io/) config for production builds
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 3rd Party Library Installation
|
## 3rd Party Library Installation
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"title": ""
|
|
||||||
}
|
|
14
config/environment.default.js
Normal file
14
config/environment.default.js
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
@@ -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": ""
|
|
||||||
}
|
|
||||||
}
|
|
@@ -59,7 +59,6 @@ export class AppComponent implements OnDestroy, OnInit {
|
|||||||
|
|
||||||
@HostListener('window:resize', ['$event'])
|
@HostListener('window:resize', ['$event'])
|
||||||
private onResize(event): void {
|
private onResize(event): void {
|
||||||
console.log(GlobalConfig.rest.baseURL);
|
|
||||||
this.store.dispatch(
|
this.store.dispatch(
|
||||||
HostWindowActions.resize(event.target.innerWidth, event.target.innerHeight)
|
HostWindowActions.resize(event.target.innerWidth, event.target.innerHeight)
|
||||||
);
|
);
|
||||||
|
@@ -2,33 +2,33 @@
|
|||||||
|
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
let configContext = require.context("../config", false, /json$/);
|
let configContext = require.context("../config", false, /js$/);
|
||||||
let EnvConfig : any = {};
|
let EnvConfig : any = {};
|
||||||
let EnvConfigFile : string;
|
let EnvConfigFile : string;
|
||||||
let CommonConfig : any = {};
|
let DefaultConfig : any = {};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
CommonConfig = configContext('./environment.common.json');
|
DefaultConfig = configContext('./environment.default.js');
|
||||||
} catch (e) {
|
} 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) {
|
switch (process.env.NODE_ENV) {
|
||||||
case 'prod':
|
case 'prod':
|
||||||
case 'production':
|
case 'production':
|
||||||
EnvConfigFile = './environment.prod.json';
|
EnvConfigFile = './environment.prod.js';
|
||||||
break;
|
break;
|
||||||
case 'dev':
|
case 'dev':
|
||||||
case 'development':
|
case 'development':
|
||||||
default:
|
default:
|
||||||
EnvConfigFile = './environment.dev.json';
|
EnvConfigFile = './environment.dev.js';
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
EnvConfig = configContext(EnvConfigFile);
|
EnvConfig = configContext(EnvConfigFile);
|
||||||
} catch (e) {
|
} 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}
|
export {GlobalConfig}
|
||||||
|
Reference in New Issue
Block a user