[proofplan]
Use the defining property of a basis: every element of $M$ has a unique finite $R$-linear expansion in the basis elements $e_i$. Define the desired map by replacing each basis vector $e_i$ in that expansion with the prescribed element $n_i$. The uniqueness of coordinates makes this definition well-defined, and the coordinate description immediately verifies additivity and compatibility with the left $R$-action. Finally, any $R$-[linear map](/page/Linear%20Map) with the prescribed values on the basis must agree with this coordinate formula, which proves uniqueness.
[/proofplan]
[step:Define the map by replacing basis vectors with the prescribed elements]
For each $m \in M$, the basis property gives a unique finitely supported family $(r_i(m))_{i \in I}$ of elements of $R$ such that
\begin{align*}
m = \sum_{i \in I} r_i(m)e_i.
\end{align*}
Here finitely supported means that the support
\begin{align*}
\operatorname{supp}(m) := \{i \in I : r_i(m) \neq 0_R\}
\end{align*}
is finite, so the displayed sum is a finite sum in the module $M$.
Define the map
\begin{align*}
f: M \to N, \quad m \mapsto \sum_{i \in I} r_i(m)n_i.
\end{align*}
This sum is finite because $(r_i(m))_{i \in I}$ is finitely supported. Thus $f(m)$ is a well-defined element of $N$.
[guided]
The only possible definition is forced by the desired values on the basis. If
\begin{align*}
m = \sum_{i \in I} r_i(m)e_i,
\end{align*}
and if we want an $R$-linear map satisfying $f(e_i)=n_i$, then $R$-linearity would require
\begin{align*}
f(m) = \sum_{i \in I} r_i(m)f(e_i).
\end{align*}
Using the prescribed values $f(e_i)=n_i$, we obtain
\begin{align*}
f(m) = \sum_{i \in I} r_i(m)n_i.
\end{align*}
So we use this formula as the definition.
We must check that the formula makes sense in an arbitrary module. General modules do not have infinite sums indexed by arbitrary sets, so the finiteness in the definition of a basis is essential. For each $m \in M$, the coordinate family $(r_i(m))_{i \in I}$ is finitely supported, meaning
\begin{align*}
\operatorname{supp}(m) := \{i \in I : r_i(m) \neq 0_R\}
\end{align*}
is finite. Therefore
\begin{align*}
\sum_{i \in I} r_i(m)n_i
\end{align*}
is actually a finite sum in $N$, with all terms outside $\operatorname{supp}(m)$ equal to $0_R n_i = 0_N$. The uniqueness part of the basis property guarantees that the coefficient family $(r_i(m))_{i \in I}$ is uniquely determined by $m$, so the element assigned to $m$ does not depend on any choice of expression. Hence the map
\begin{align*}
f: M \to N, \quad m \mapsto \sum_{i \in I} r_i(m)n_i
\end{align*}
is well-defined.
[/guided]
[/step]
[step:Verify that the constructed map is additive]
Let $m,m' \in M$. Write their unique basis expansions as
\begin{align*}
m = \sum_{i \in I} r_i(m)e_i
\end{align*}
and
\begin{align*}
m' = \sum_{i \in I} r_i(m')e_i.
\end{align*}
The two coefficient families are finitely supported, so the family $(r_i(m)+r_i(m'))_{i \in I}$ is finitely supported. By distributivity in the left $R$-module $M$,
\begin{align*}
m+m' = \sum_{i \in I} \bigl(r_i(m)+r_i(m')\bigr)e_i.
\end{align*}
By uniqueness of the basis expansion,
\begin{align*}
r_i(m+m') = r_i(m)+r_i(m')
\end{align*}
for every $i \in I$. Therefore, using distributivity in $N$,
\begin{align*}
f(m+m') = \sum_{i \in I} \bigl(r_i(m)+r_i(m')\bigr)n_i.
\end{align*}
Thus
\begin{align*}
f(m+m') = \sum_{i \in I} r_i(m)n_i + \sum_{i \in I} r_i(m')n_i.
\end{align*}
Hence
\begin{align*}
f(m+m') = f(m)+f(m').
\end{align*}
[/step]
[step:Verify compatibility with the left $R$-action]
Let $a \in R$ and let $m \in M$. Write
\begin{align*}
m = \sum_{i \in I} r_i(m)e_i.
\end{align*}
Then
\begin{align*}
a m = \sum_{i \in I} \bigl(a r_i(m)\bigr)e_i.
\end{align*}
The coefficient family $(a r_i(m))_{i \in I}$ is finitely supported. By uniqueness of the basis expansion,
\begin{align*}
r_i(am) = a r_i(m)
\end{align*}
for every $i \in I$. Therefore, using associativity of the scalar action on the left $R$-module $N$,
\begin{align*}
f(am) = \sum_{i \in I} \bigl(a r_i(m)\bigr)n_i.
\end{align*}
Since $(a r_i(m))n_i = a(r_i(m)n_i)$ for each $i \in I$, finite distributivity gives
\begin{align*}
f(am) = a\sum_{i \in I} r_i(m)n_i.
\end{align*}
Thus
\begin{align*}
f(am) = a f(m).
\end{align*}
Together with additivity, this proves that $f: M \to N$ is a left $R$-[module homomorphism](/page/Module%20Homomorphism).
[/step]
[step:Check that the map has the prescribed values on the basis]
Fix $j \in I$. The basis expansion of $e_j$ has coefficient $1_R$ at $j$ and coefficient $0_R$ at every $i \in I$ with $i \neq j$, because
\begin{align*}
e_j = 1_R e_j.
\end{align*}
Therefore the defining formula for $f$ gives
\begin{align*}
f(e_j) = 1_R n_j.
\end{align*}
Since $N$ is a left $R$-module over a ring with identity, $1_R n_j = n_j$. Hence
\begin{align*}
f(e_j)=n_j.
\end{align*}
Because $j \in I$ was arbitrary, $f(e_i)=n_i$ for every $i \in I$.
[/step]
[step:Prove uniqueness from the values on the basis]
Let $g: M \to N$ be any left $R$-module homomorphism such that $g(e_i)=n_i$ for every $i \in I$. Let $m \in M$, and write
\begin{align*}
m = \sum_{i \in I} r_i(m)e_i.
\end{align*}
Since this is a finite sum and $g$ is additive and compatible with the left $R$-action,
\begin{align*}
g(m) = \sum_{i \in I} r_i(m)g(e_i).
\end{align*}
Using $g(e_i)=n_i$ for every $i \in I$, we obtain
\begin{align*}
g(m) = \sum_{i \in I} r_i(m)n_i.
\end{align*}
By the definition of $f$,
\begin{align*}
g(m)=f(m).
\end{align*}
Since $m \in M$ was arbitrary, $g=f$. Therefore the homomorphism constructed above is the unique left $R$-module homomorphism $M \to N$ sending each $e_i$ to $n_i$.
[/step]