egg支持路径别名@
module-alias别名设置
设置别名可以简化require引入路径长度,但是node默认不支持,可以借助module_alias
来实现对别名的支持,类似webpack中resolve:{alias:{"util":path.join(__dirname,'src','util')}},
,支持@
符号。
安装
安装:npm install module-alias --save
使用:package.json 中添加
"_moduleAliases": {"@root": ".","@app": "app"},
app.js 启动项中引入
configWillLoad() {// 此时 config 文件已经被读取并合并,但是还并未生效// 这是应用层修改配置的最后时机// 注意:此函数只支持同步调用require('module-alias/register');// 例如:参数中的密码是加密的,在此处进行解密// 例如:插入一个中间件到框架的 coreMiddleware 之间}
文件中使用:
以下代表 根路径下的 app / exceptions / http_exceptions.js
文件
const { HttpExceptions } = require('@app/exceptions/http_exceptions');
补充说明
按照上面设置之后,大多数情况下使用时没有问题的,但是在config/plugin.js
config/config.{env}.js
app/extend/xx.js
中使用@
是无效的,原因是这时候,app.js
还没有加载执行,别名设置还没有生效。下面是egg加载顺序:
- 加载 plugin,找到应用和框架,加载 config/plugin.js
- 加载 config,遍历 loadUnit 加载 config/config.{env}.js
- 加载 extend,遍历 loadUnit 加载 app/extend/xx.js
- 自定义初始化,遍历 loadUnit 加载 app.js 和 agent.js
- 加载 service,遍历 loadUnit 加载 app/service 目录
- 加载 middleware,遍历 loadUnit 加载 app/middleware 目录
- 加载 controller,加载应用的 app/controller 目录
- 加载 router,加载应用的 app/router.js
需要在config/plugin.js
中直接引入别名包。require('module-alias/register');
egg支持路径别名@相关推荐
- vite使用vite-aliases插件配置路径别名
介绍 vite-aliases支持Vite4.x版本. vite-aliases是一款vite社区插件,会自动生成一些import路径别名方面的设置(项目根路径下jsconfig.json可自行配置) ...
- vite + react + ts 配置路径别名alias
vite + react + ts 配置路径别名alias vite + react + ts 配置路径别名alias 首先下载 @types/node 包 第一步配置 tsconfig.js 第二部 ...
- 【vue3】vue3+ts+vite项目设置路径别名
解决流程 1.安装依赖 npm install @types/node -D 2.tsconfig.json配置 {"compilerOptions": {....."b ...
- Vite ( Vue + TS ) 项目配置 @ 路径别名
1. 下载 @types/node 包 path 模块是 node.js 的内置模块,而 node.js 默认不支持 ts 文件的,所以需要安装 @type/node 依赖包 npm install ...
- YII Framework学习教程-YII的Model-开发规范-路径别名-命名空间-2011-11-22
到这里,大概的YII开发已经基本可以,但是下面要将的所有课程,学完之后可以让你更爱YII.下面的教程是讲的MVC的M,model.数据,业务,代码的集中地区.所以开始之前,学学开发规范-路径别名-命名 ...
- vue-cli 项目配置路径别名
vue-cli 项目配置路径别名 1.vue-cli 2.x 配置方式 在vue-cli 2.x项目中,进入build文件夹,找到webpack.base.conf.js,编辑文件 ,并找到resol ...
- [SlickEdit] SlickEdit支持目录别名FTP控件更新
有阵没写代码了,SlickEdit升级到2009还没怎么用过,Option面板改动得更像Eclipse了,反正IDE工具也不知道到底谁抄袭谁,只是Symbol Coloring设置太唬人了吧,,默认的 ...
- vscode 配置 路径别名 @
为了保证多个项目复用代码,我喜欢把路径别名设置为@,下面介绍vscode中的配置方法. 1.安装插件Path Intellisense 2.配置 "path-intellisense.map ...
- php设置路径别名,react设置文件路径别名的具体方法你知道么
文章环境: "react": "^16.13.1" 版本 react官方脚手架默认是将webpack配置隐藏起来了,在进行配置之前需要将webpack给暴露出来 ...
最新文章
- Go 学习笔记(57)— Go 第三方库之 amqp (RabbitMQ 生产者、消费者整个流程)
- 找不到物理服务器,日常物理服务器需要在什么地方升级?
- 使用html格式,通过php调用数据库并显示数据
- Boost之timer库
- 某小公司 RESTful、共用接口、前后端分离、接口约定的实践
- 序列密码体制(python随机数密码,RC4,线性反馈移位寄存器
- TSV_TNEW_PAGE_ALLOC_FAILED
- 详解三种主流分布式事务方案的优劣
- NoSQL数据库:数据的一致性
- crc32硬加速指令
- k8s集群部署二(自签TLS证书)
- 计算机控制系统的框图,计算机控制系统原理框图.doc
- Linux FTP搭建及访问
- flowplayer设置视频logo
- 常用企业管理工具介绍
- ASTC纹理压缩格式详解
- 黑苹果开启硬件加速(Clover)
- Markdown语法文档,Markdown教程,Markdown语法大全,
- 用python写九九乘法表(用format格式极其简单)
- c语言原子操作实例,多CPU上的原子操作
热门文章
- redis set集合应用场景
- Tip and Ring
- 金融量化分析【day112】:量化平台的使用-初始化函数
- 【Kubernetes 018】cfssl创建证书并结合RBAC的RoleBinding配置新用户config文件操作详解
- Python入门基础练习题
- 使用 FFmpeg 推流,使用 VLC 软件进行拉流
- 计算机提示无法识别优盘,win7电脑无法识别u盘的四种解决方法
- ubuntu修改默认python为python3
- C语言课程设计报告税,第十周—C语言 个人所得税的计算
- 【无标题】使用element-ui中的el-date-picker,中间的至字显示不全的原因及解决