1
我想只能在特定的环境中运行某些钩子。例如,我有一个post.save
进行图像处理,但我不需要在测试过程中运行该钩子。一个解决办法是把支票在钩本身就像这样:有没有办法定义环境特定的猫鼬中间件?
FooSchema.post('save', function processImages() {
if (process.env.NODE_TESTING) return;
// do image processing
});
但我宁愿不直接考虑像在钩自己的状态。另一种更优选的方法中,将包裹钩和引入另一个参数接受环境的列表,以使得钩会然后像来定义:
FooSchema.post('save', function processImages() {
// do image processing
}, { test: false, prod: true });
这种方法是不理想的或者是因为I” d宁愿不必做任何包装。所以,我想听听其他人是否已经解决了这个具体需求,如果是的话,采取了什么方法。谢谢!