包详细信息

simport

coderaiser72.2kMIT1.2.0

import like require but async

dynamic, import, require, commonjs

自述文件

Simport License NPM version Dependency Status Build Status Coverage Status

Use dynamic imports just like plain old require.

With simport you can:

  • get require
  • get __filename or __dirname
  • load json
  • avoid extensions
  • avoid destructuring default
  • pass simport into functions like tryCatch
  • use absolute path in windows

Install

npm i simport

API

createSimport

Commonjs:

const {createSimport} = require('simport');
const simport = createSimport(__filename);

ESM:

import {createSimport} from 'simport';
const simport = createSimport(import.meta.url);

// you can import json
await simport('./package.json');
// returns
({
    name: simport,
});

// you can avoid .js extension
await simport('./server');

// you can avoid destructure default
const validate = await simport('./validate');
// same as
const {default: validate2} = await import('./validate.js');

createCommons

import {createCommons} from 'simport';

const {
    __filename,
    __dirname,
    require,
} = createCommons(import.meta.url);

// now you have plain old CommonJS variables

License

MIT