Here's is a definition of sheaves on stacks in the famous Complex Oriented Cohomology Theories and the Language of Stacks (COCTALOS) lecture notes by Mike Hopkins. Since it was written by students and wasn't entirely polished, it is at times a little hard (for me) to comprehend. Here is a definition that doesn't make sense to me.
Definition [COCTALOS, Def. 11.1]. Let $(\mathscr{C}, J)$ be a site, $\mathbf{Stack}$ be the $2$-category of stacks on $(\mathscr{C}, J)$ and $\mathcal{M} \in \mathbf{Stack}$. Then, we define $$\mathbf{Sh}(\mathcal{M}) = \mathbf{Sh}(\mathbf{Stack}_{/\mathcal{M}}),$$ i.e. a sheaf on $\mathcal{M}$ is a functor $(\mathbf{Stack}_{\mathcal{M}})^{\mathrm{op}} \to \mathbf{Set}$ (or to $(\mathbf{Stack}_{\mathcal{M}})^{\mathrm{op}} \to \mathbf{An}$ if you like) satisfying the sheaf condition.
But what is the Grothendieck topology on $\mathbf{Stack}_{/\mathcal{M}}$? Don't we need a site to be able to take sheaves?
I believe the Grothendieck topology meant here is defined in Example 8.25 in those lecture notes, as Proposition 9.2 tells you this is in fact a Grothendieck topology. (Also, it leads to a reasonable notion of a sheaf on a stack, since we are passing from sheaves on objects in $\mathscr{C}$ to sheaves on a stack by using representable morphisms.)