1.0.6 • Published 2 years ago

nv-facutil-rrequire v1.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

nv-facutil-rrequire

  • unrequire
  • rerequire

install

  • npm install nv-facutil-rrequire

usage

const {unrequire,rerequire} = require("nv-facutil-rrequire");

example

//// a module for test
ACORN# cat lib.js

console.log("required!!")
ACORN#


/*
> require("./lib")
required!!
{}
>
> unrequire("./lib")
undefined
>
> require("./lib")
required!!
{}
>

*/

require from str

    const {str_require,get_child_by_id} = require("nv-facutil-rrequire")
    var m = str_require(`module.exports={a:100}`,'mymod')
    m
    m.id_
    > get_child_by_id(m.parent_,m.id_)

    Module {
      id: 'str://J3zvprqsbXzHk1-dZwtLFhOl9fAQXWBIq6ihGZb8e6bBkCMRgwpgEUbSVNd7-hLg/mymod',
      path: 'str://J3zvprqsbXzHk1-dZwtLFhOl9fAQXWBIq6ihGZb8e6bBkCMRgwpgEUbSVNd7-hLg',
      exports: { a: 100 },
      filename: 'str://J3zvprqsbXzHk1-dZwtLFhOl9fAQXWBIq6ihGZb8e6bBkCMRgwpgEUbSVNd7-hLg/mymod',
      loaded: false,
      children: [],
      paths: [
        '/opt/JS/NV5_/nv-facutil_/pkgs/nv-facutil-rrequire/node_modules',
        '/opt/JS/NV5_/nv-facutil_/pkgs/node_modules',
        '/opt/JS/NV5_/nv-facutil_/node_modules',
        '/opt/JS/NV5_/node_modules',
        '/opt/JS/node_modules',
        '/opt/node_modules',
        '/node_modules'
      ]
    }

from url

    var url = "http://172.17.133.163/jstest/mod.js"
    var m = await url_get_require(url)
    > var m = await url_get_require(url)
    undefined
    > m
    { f: [Function: plus100] }
    >
    > m.f(1)
    101
    >
    > get_child_by_id(m.parent_,m.id_)
    Module {
      id: 'http://wh724ZMhCJk4N5YJvCxpkhfYtpW7mwC-w0WcY0ql827CzyLMen06mRgqDfLecqYP/',
      path: 'http:/',
      exports: { f: [Function: plus100] },
      filename: 'http://wh724ZMhCJk4N5YJvCxpkhfYtpW7mwC-w0WcY0ql827CzyLMen06mRgqDfLecqYP/',
      loaded: false,
      children: [],
      paths: [
        '/opt/JS/NV5_/nv-facutil_/pkgs/nv-facutil-rrequire/node_modules',
        '/opt/JS/NV5_/nv-facutil_/pkgs/node_modules',
        '/opt/JS/NV5_/nv-facutil_/node_modules',
        '/opt/JS/NV5_/node_modules',
        '/opt/JS/node_modules',
        '/opt/node_modules',
        '/node_modules'
      ]
    }
    >

    //npm install nv-file-vfs-base --save-dev
    > resolve_mod_name("nv-file-vfs-base")
    _ResolveModPathRslt(4) [
      true,                             
      'nv-file-vfs-base',
      '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/JSCODING/nv-cli-find-dep/node_modules/nv-file-vfs-base/index.js',
      '/mnt/sdb/NV5/NV5_/nvcli-/pkgs/JSCODING/nv-cli-find-dep'
    ]
    > 

API

  • unrequire(mod_path_or_name)
  • rerequire(mod_path_or_name)
  • str_require(code,fake_filename/can Be anything/)
  • str_unrequire(m)
  • url_get_require(url)
  • url_post_require(url,paramsd)
  • url_unrequire(m)
  • url_rerequire(m)

  • list_require_cache()

  • find_in_cache(ptrn:RegExp | string)
  • _deps(mod)
  • show_deps:(mod)=>console.dir(_deps(mod),{depth:null})
  • show_dep_pls(mod),

  • resolve_mod_name(name:Str,from="./")

RESTRICT

  • only work in nodejs

LICENSE

  • ISC