icefog
TypeScript icon, indicating that this package has built-in type declarations

2.1.0 • Public • Published

icefog

a utility for passing environment/config info from server to client

install

yarn add icefog

use

On the server, create a config string:

import { createConfig } from 'icefog/server'

const configString = createConfig({ isDev: true, token: 'abc' })
// then add this string to your rendered markup
// e.g. - `<div id="app" ${configString}></div>`

Then on the client, read the config string:

import 'icefog/init' // for the default element of '#app'

or

import { initConfig } from 'icefog'
initConfig('my-dom-element')

the config export is then available for use anywhere in your app:

import { config } from 'icefog'

if (config.isDev) // do development-specific things

api

createConfig

createConfig(config: object): string

initConifg

initConfig(elementId: string = 'app', { windowAttr: string = 'app' })

  • elementId is the DOM element you render the configString onto
  • windowAttr is only used if config.isDev is true, and will attach the config to this window attribute

config

Effectively the object you provided to createConfig, with any functions stripped

Readme

Keywords

none

Package Sidebar

Install

npm i icefog

Weekly Downloads

112

Version

2.1.0

License

MIT

Unpacked Size

11.7 kB

Total Files

16

Last publish

Collaborators

  • pearofducks