netlify dev command you can simulate the Netlify production environment.
netlify dev starts a framework server if it detects one, handles redirects, proxy rules, functions and addons.
However, when developing functions locally, it can be useful to simulate Netlify Functions in a standalone server. That allows easier debugging and doesn't have the overhead of starting a framework server.
- Install the latest
npm install -g netlify-cli.
netlify functions:serveto start the functions server.
Your function will be available at
By default the server serves functions from the configured functions directory, or
netlify/functions if a functions directory is not configured. The default port for the functions server is
9999. To override these settings you can use the
netlify functions:serve --functions <path-to-dir> --port <port>
or by configuring them via the
netlify.toml dev block:
[dev] functions = "netlify-functions" functionsPort = 7000
Netlify CLI uses Lambda-local to simulate serverless functions. Since the CLI invokes functions in the same process as the functions server, you can debug functions by inspecting the functions server process. To do so set the
--inspect Node.js option when starting the functions server:
- On Windows run
cmd /V /C "set NODE_OPTIONS=--inspect && netlify functions:serve"
- On Mac/Linux run
NODE_OPTIONS=--inspect netlify functions:serve
Then attach any Node.js debugger to the CLI process to debug your functions. For usage with Visual Studio Code see here.