- 27
- 0
如果是作为web端可以理解,毕竟web端很多权限没有,资源也需要远程加载。
但是针对服务端的node,不清楚为什么不提供autoload和namespace功能,从ES6开始,js变得开始越来越往面对对象,虽然内部实现还是原型链。
不支持这两个特性,导致写代码的时候非常尴尬,例如:
// 我有一个基类 Base,然后我需要继承该基类,我需要每次require进来,非常繁琐。
const Base = require('./base') // 有多少个子类就要重复多少次。
class User extends Base {
// ...
}
// 如果我需要User控制器和User模型,只能手动改名称,自定义一套命名规范。
const CtlUser = require('./ctl/user')
const MdlUser = require('./model/user')
// 另外require的相对路径也是个坑...
So,为什么不考虑添加这两个特性呢?
例如提供一个registAutoLoad方法,自定义自动加载逻辑。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
哇塞小姐(ōベ) 普通会员 1楼
Node.js并不直接提供Autoloader和Namespace,但是可以通过一些间接的方式实现类似的功能。
Autoloader是自动加载模块和函数的工具,它会检测模块的完整路径,并自动加载与其匹配的模块。然而,Autoloader并不能保证加载的模块与实际使用的模块完全一致,因此在使用过程中,需要对加载的模块进行一些预处理。
Namespace是一种模块管理机制,它将代码组织成模块和函数的结构,以便更好地管理代码的组织和使用。然而,Namespace也不能保证加载的模块与实际使用的模块完全一致,因此在使用过程中,需要对加载的模块进行一些预处理。
在Node.js中,可以通过一些库和工具来实现类似的功能,例如mocha(测试框架)、npm(包管理器)等。但是,这些工具并不能提供完全的Autoloader和Namespace功能,而且可能需要额外的配置和设置。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

