shichen b6c5ecc67a init 10 月之前
..
CHANGELOG.md b6c5ecc67a init 10 月之前
LICENSE b6c5ecc67a init 10 月之前
README.md b6c5ecc67a init 10 月之前
browser.js b6c5ecc67a init 10 月之前
invariant.js b6c5ecc67a init 10 月之前
invariant.js.flow b6c5ecc67a init 10 月之前
package.json b6c5ecc67a init 10 月之前

README.md

invariant

Build Status

A mirror of Facebook's invariant (e.g. React, flux).

A way to provide descriptive errors in development but generic errors in production.

Install

With npm do:

npm install invariant

invariant(condition, message)

var invariant = require('invariant');

invariant(someTruthyVal, 'This will not throw');
// No errors

invariant(someFalseyVal, 'This will throw an error with this message');
// Error: Invariant Violation: This will throw an error with this message

Note: When process.env.NODE_ENV is not production, the message is required. If omitted, invariant will throw regardless of the truthiness of the condition. When process.env.NODE_ENV is production, the message is optional – so they can be minified away.

Browser

When used with browserify, it'll use browser.js (instead of invariant.js) and the envify transform will inline the value of process.env.NODE_ENV.

Node

The node version is optimized around the performance implications of accessing process.env. The value of process.env.NODE_ENV is cached, and repeatedly used instead of reading process.env. See Server rendering is slower with npm react #812