egg.js 路径别名配置 module-alias

本文详细介绍如何在Node.js项目中使用module-alias模块进行路径别名的配置,包括安装依赖、配置package.json及app.js文件,以及在控制器中进行测试的过程。

安装依赖 moudle-alias

npm install module-alias --save

配置package.json文件

注:这里@root就是别名,后面引号内的内容就是原路径

"_moduleAliases": {
  "@root": ".",
  "@app": "app"
},

配置文件引入 require(‘module-alias/register’);

注:因为需要将该代码放置在所有使用路径别名代码的前面,因此在这里将此引用放置在app.js中,当然,也可以在所需的地方进行单独引用(不推荐)

'use strict';

class AppBootHook {
  constructor(app) {
    this.app = app;
  }

  configWillLoad() {
    // 此时 config 文件已经被读取并合并,但是还并未生效
    // 这是应用层修改配置的最后时机
    // 注意:此函数只支持同步调用
    require('module-alias/register');
    // 例如:参数中的密码是加密的,在此处进行解密

  }
}

module.exports = AppBootHook;

测试

/** app/controller/core/base.js */
'use strict';

const { Controller } = require('egg');

class BaseController extends Controller {

  success(data) {
    this.ctx.body = {
      sta: '999',
      msg: '操作成功',
      data,
    };
  }

}

module.exports = BaseController;

/** app/controller/moudleAliasCeshi.js */
'use strict';

const BaseController = require('@app/controller/core/base');

class MoudleAliasCeshiController extends BaseController {

  async ceshi() {
    this.success('dfsgvds');
  }

}

module.exports = MoudleAliasCeshiController;

/** app/router.js */
'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;

  router.get('/moudleAliasCeshi', controller.moudleAliasCeshi.ceshi);

};

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值