Nuxt项目中自定义Vue mixins和工具函数应该放在哪个目录?
Nuxt 项目可复用函数与 Mixins 存放方案
完全可以在根目录创建lib文件夹存放这些资源,这是Nuxt社区非常普遍的实践,也完全符合你提到的两个使用要求。以下是具体的方案说明:
两种常用存放方案
1. 遵循Nuxt官方约定目录
如果你倾向于用框架默认的目录规范,可以按逻辑类型拆分存放:
- 与Vue框架无关的通用自定义函数,存放在
/utils目录 - Vue专用的Mixins资源,存放在
/mixins目录 - 配套测试用例可以对应放在根目录
/tests/utils、/tests/mixins下,和业务代码做分离
这种方案的好处是符合框架默认约定,其他熟悉Nuxt的开发者可以快速找到对应资源。
2. 自定义/lib目录(更符合你的需求)
因为你要求所有资源仅按需导入、不需要全局注册,同时要配套测试用例,自定义lib目录的管理效率更高:
- 你可以完全自主控制
lib目录下的资源导入逻辑,Nuxt不会对非约定的自定义目录做自动全局注册处理,完全符合按需导入的要求 - 可以在
lib目录内统一管理不同类型的可复用资源,参考目录结构:项目根目录 ├── lib/ │ ├── utils/ # 存放通用自定义函数 │ ├── mixins/ # 存放Vue mixins │ └── tests/ # 存放对应测试用例(也可以把测试用例统一放在根目录的/tests/lib下) - 后续如果要抽离为独立的npm包,直接迁移
lib目录的内容即可,适配成本极低。
补充说明
Nuxt的目录规范非常灵活,仅对pages、components、public等少数具备特殊功能的目录做识别处理,其余自定义目录不会触发框架的额外逻辑,你完全可以根据自己的团队习惯选择合适的存放方式。
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

