···575575576576Rather, they let you *open the door* from one environment to the other:
577577578578-- **`'use client'` exports client functions _to_ the server.** Under the hood, the backend code sees them as references like `'/src/frontend.js#LikeButton'`. They can be rendered as JSX tags and will ultimately turn into `<script>` tags. You can also, optionally, pre-run those scripts on the server to get their initial HTML.
578578+- **`'use client'` exports client functions _to_ the server.** Under the hood, the backend code sees them as references like `'/src/frontend.js#LikeButton'`. They can be rendered as JSX tags and will ultimately turn into `<script>` tags. (You can optionally pre-run those scripts on the server to get their initial HTML.)
579579- **`'use server'` exports server functions _to_ the client.** Under the hood, the frontend sees them as `async` functions that call the backend via HTTP.
580580581581These directives express the network gap *within* your module system. They let you describe a client/server application as a *single program spanning two environments.*