CNode

egg 自定义插件无法生效

问答
Xxumjs8623发布于9 年前最后回复9 年前3 回复7227 浏览0 收藏

config/plugin.js

'use strict';
const path = require('path');
// had enabled by egg
// exports.static = true;
exports.static = true;
exports.cors = {
  enable: true,
  package: 'egg-cors',
};
// 数据库插件
exports.mysql = {
  enable: true,
  package:'egg-mysql',
};
// 参数验证插件
exports.validate = {
  enable: true,
  package: 'egg-validate',
};
// 时间插件
exports.timeFormate = {
  enable: true,
  path: path.join(__dirname, '../lib/plugin/timeFormate')
}

lib/plugin/timeFormate/app.js

module.exports = app => {
  app.addSingleton('timeFormate', timeFormate);
}
function timeFormate() {
  console.log(111111111)
  return '1111'
}

lib/plugin/timeFormate/package.json

{
  "name": "egg-timeFormate",
  "version": "1.0.0",
  "eggPlugin": {
    "name": "timeFormate"
  }
}

最后调用的时候 就变这样了 image.png

查看回复

回复 (3)

A
atian25#1·9 年前

addSingleton 不是干这个用的,要返回的是 object,不是 string。 你如果只是想在 app 上挂个方法,放到 app/extend/application

https://eggjs.org/zh-cn/basics/extend.html

X
xumjs8623#2·9 年前
引用 atian25addSingleton 不是干这个用的,要返回的是 object,不是 string。 你如果只是想在 app 上挂个方法,放到 app/extend/application https:/...

@atian25 好的 ,谢谢,我去研究研究, 我只想 自己封装一些方法, 然后每次用的时候不需要去require

A
atian25#3·9 年前
引用 xumjs8623@atian25 好的 ,谢谢,我去研究研究, 我只想 自己封装一些方法, 然后每次用的时候不需要去require

@xumjs8623 egg 内置的扩展机制完全可以满足你,还是把文档的前几张仔细看一下吧

参与回复
登录后即可参与回复。登录