Loader for ngx-config that provides application settings using Adding
Add Setting up
If you provide application settings using a
fs
(server platform)
Please support this project by simply putting a Github star. Share this library with friends on Twitter and everywhere else you can.
NOTICE
This 5.x.x branch is intented to work with @angular v5.x.x
. If you're developing on a later release of Angular
than v5.x.x
, then you should probably choose the appropriate version of this library by visiting the master branch.
Table of contents:
- Installation- [Examples](#examples)
- [Related packages](#related-packages)
- [Adding `@ngx-config/fs-loader` to your project (SystemJS)](#adding-systemjs)
- [Setting up `ConfigModule` to use `ConfigFsLoader`](#setting-up-fsloader)
Prerequisites
This library depends onAngular v4.0.0
. Older versions contain outdated dependencies, might produce errors.
Also, please ensure that you are using Typescript v2.5.3
or higher.
Getting started
Installation
You can install@ngx-config/fs-loader
using npm
```
npm install @ngx-config/fs-loader --save
```
Note: You should have already installed @ngx-config/core.
Examples
- ng-seed/universal and fulls1z3/example-app are officially maintained projects, showcasing common patterns and best
@ngx-config/fs-loader
.
Related packages
The following packages may be used in conjunction with@ngx-config/fs-loader
:
Adding @ngx-config/fs-loader
to your project (SystemJS)
Add map
for @ngx-config/fs-loader
in your systemjs.config
```javascript
'@ngx-config/fs-loader': 'nodemodules/@ngx-config/fs-loader/bundles/fs-loader.umd.min.js'
```
Settings
Setting up ConfigModule
to use ConfigFsLoader
If you provide application settings using a JSON
file (on the server platform
), you can call the forRoot static
method using the ConfigFsLoader
. By default, it is configured to retrieve application settings from the path /config.json
(if not specified).
You can customize this behavior (and ofc other settings) by supplying a file path to ConfigFsLoader
.
- Import
ConfigModule
using the mapping'@ngx-config/core'
and appendConfigModule.forRoot({...})
within the imports
- Import
ConfigFsLoader
using the mapping'@ngx-config/fs-loader'
.
config.json
```json { "system": {"applicationName": "Mighty Mouse",
"applicationUrl": "http://localhost:8000"
},
"seo": {
"pageTitle": "Tweeting bird"
},
"i18n":{
"locale": "en"
}
}
```
app.module.ts
```TypeScript ... import { ConfigModule, ConfigLoader } from '@ngx-config/core'; import { ConfigFsLoader } from '@ngx-config/fs-loader'; ... export function configFactory(): ConfigLoader { return new ConfigFsLoader('./public/assets/config.json'); // FILE PATH } @NgModule({ declarations:AppComponent,
...
,
...
imports:
ConfigModule.forRoot({
provide: ConfigLoader,
useFactory: (configFactory)
}),
...
,
...
bootstrap: AppComponent
})
```
ConfigFsLoader
has one parameter:
- path:
string
: path toJSON file
, to retrieve application settings from (by default,config.json
)
:+1: Well!@ngx-config/fs-loader
will now provide application settings to @ngx-config/core usingfs
.