简介
@dlimits 是一个基于 Node.js 的 JavaScript 包,用于限制框架中的某些模块的访问权限。它支持多种限制模式和多种框架(如 Vue.js 和 React)。
安装
npm install @asdeporte-dev/dlimits --save
使用方法
@dlimits 提供了以下限制模式:
Whitelist(白名单)
只有列在白名单中的模块才能访问。一个白名单由一个数组组成,数组中的每个项目都是一个正则表达式或者字符串。当添加一个新的项目到白名单中,允许它的 JavaScript 文件可以被加载到当前的执行上下文中。
const dlimits = require('@asdeporte-dev/dlimits'); dlimits.whitelist('app', ['^/app/', '^/@asdeporte-dev/app/section1', 'section2']); require('@asdeporte-dev/app/section1/someModule.js'); require('./someOtherModule.js'); // someModule.js 可以被加载,但 someOtherModule.js 不能被加载
Blacklist(黑名单)
任何不在黑名单中的模块都可以访问。禁止访问的所谓模块是前缀和字符串表达式的列表。
const dlimits = require('@asdeporte-dev/dlimits'); dlimits.blacklist('app', ['/app/private', '/app/secrets']); require('@asdeporte-dev/app/public/someModule.js'); require('@asdeporte-dev/app/private/privateModule.js'); // someModule.js 可以被加载,但 privateModule.js 不能被加载
Timeout(超时)
允许一定数量的资源访问,此后将强制执行超时规则。超时限制指针对应用程序中的并发限制。
-- -------------------- ---- ------- ----- ------- - ---------------------------------- ---------------------- - -- ----- -- -------- ---- --- -- ----- --- ---- -- ------- ------ -------- - ---- --------- --- -- -- -------- ---- -- ------ - --------- ----- --- -- ----- ------- ----- -- ------- ------- --------- -- -- --- -- ------ ----- --- -------- --------- ---- -- ------ ----- ---- --- ----- -- --- ---- -------- -------- -- -- --- --- ---------------------------------------------------
示例代码
-- -------------------- ---- ------- ----- ------- - ---------------------------------- -- ----- ------------------------ ---------- -------------------------------- ------------- ----------------------------------------------------- -- ----- -------------------------------- -- ----- -- ----- ------------------------ ---------------- ----------------- --------------------------------------------------- -- ----- ------------------------------------------------------- -- ----- -- ---- ---------------------- - ---- --- --------- --- --------- -- -- --- -------- -- -- --- --- --------------------------------------------------- -- -----
总结
@dlimits 是一个在框架中用于限制模块访问权限的 JavaScript 包。它能够帮助开发者有效地管理应用程序的业务逻辑而不受外部因素的干扰。通过白名单、黑名单和超时限制三种模式,@dlimts 可以实现更灵活、更精细的控制。具体使用方法请参考文档说明。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056cc181e8991b448e63d1