關於egg.js
中的命名問題
在Java中,不管是Service、Controller、Model,一個單獨的文件都作爲類存在,其命名也遵循類的首字母大寫的規範。這在任何時候都不會出錯。
最近學習egg.js
,對於其命名卻不甚明瞭。其中原因不瞭解,暫時記錄一下,有大牛可以幫我解惑。
controller
和service
- 文件名:首字母大小寫隨意
- 調用:此時一定是首字母小寫的
- 模塊名:隨意
示例:
// controller/user.js/User.js // 文件名首字母大小寫隨意,不影響程序正確性
class resu extends Controller {}; // 這個類名隨便寫,不影響程序正確性
module.exports = resu;
// router.js中調用時
router.get('/user', controller.log.index); // 這裏一定是小寫,即便文件名是User.js
model
- 文件名:首字母大小寫隨意
- 調用:此時一定是首字母大寫的
- 模塊名:隨意
示例:
// model/user.js/User.js // 文件名首字母大小寫隨意,不影響程序正確性
const resu = app.model.define('user', ...); // 這個變量名隨便寫,不影響程序正確性
// service中調用時
this.ctx.model.User.findAll(); // 這裏一定是大寫
約定
- 文件名統一用小寫
service
和controller
調用時都是首字母小寫model
調用時注意首字母大寫- 變量名和類名採用首字母大寫,後綴類型
service -> UserService
controller -> UserController
model -> UserModel