@dekkai/env (英语)
动态检测运行时间和加载模块的实用方法.
检查出来的全部 API 文档
安装
浏览器/节点JS
$ yarn add @dekkai/env
德诺
// import from directly from a CDN, like unpkg.com
import {isDeno, isBrowser, isNodeJS, loadModule} from 'https://unpkg.com/@dekkai/env';
使用量
// import the desired methods
import {isDeno, isBrowser, isNodeJS, loadModule} from '@dekkai/env';
// test for deno
const deno = isDeno();
// test for node
const node = isNodeJS();
// test for browser
const browser = isBrowser();
// import a module at runtime, this is generally the same as calling `await import(module)` but it is safe for all
// platforms and should be able to survive bundlers, also wraps `require` for node environments where needed.
// The main advantage is to import modules needed for a specific platform at runtime, think importing `fs` for node
// at runtime but still being able to compile for all platforms.
let fs;
if (node) {
fs = await loadModule('fs');
} else if (deno) {
fs = await loadModule('https://deno.land/std/fs/mod.ts');
} else {
fs = await loadModule('https://unpkg.com/browserfs');
}
// ...
检查出来的全部 API 文档