Wix provides several tools for testing and debugging the code in your site. You can start by in Preview mode before publishing. If you see errors or your site is not running as expected, there are 4 tools you can use to debug the code in your site:
- Debug in Preview mode
- Trigger and debug backend code in the Code panel (Wix Editor only)
- Debug your Published site
- Debug in Preview or Published mode
Test your site by entering Preview mode. To preview your site:
Wix Editor: Either click on the Run button in the , or the Preview button in the Editor on the top right.
Wix Studio: Click the preview button in the top right.
You can perform any actions that you would be able to perform on your live site. When testing your site, you can check if any errors appear in the Wix .
When you've finished previewing and return to the Editor, interactions you had with your site are not maintained. Your site returns to the state it was in before you entered Preview mode. The only exception is your optional sandbox database.
If you interact with data from your collections, you will be using the optional sandbox (and not live) version of your collections. Changes to data that result from interactions with your site in Preview mode will persist in your optional sandbox database.
Note: Velo functionality is not available when you enter Preview mode from the Site Actions dropdown in the Dashboard.
Although your can view your pages and interact with your site and data in Preview mode, the site doesn't behave exactly as it does when published:
- When previewing your site, you are assigned the Admin . That means you are granted all possible . Users of your live site might have different permissions and therefore have more restricted access.
- When previewing your site with
, you will be working with the data in your site's optional . Users of your live site will be working with your .
- , however, only have the live database version. Any changes you make to these collections in Preview mode are reflected in your published site.
- Backend events and several other APIs don't work when previewing your site.
You can try out a test version of your published site on a small percentage of visitors using the . This is helpful for testing functionality that only works on a published site without exposing that functionality to all site visitors.
The Wix Developer Console is available at the bottom of the page when you are previewing your site. The console displays information that is useful when debugging, such as errors, warnings, and other messages.
It also displays debug messages that you added to the code using any . If you are new to debugging code, click to learn how to log messages to the console.
Each message displays the page where the relevant code can be found and a clickable link to the specific line of code that triggered the message. Note that even if Velo is not enabled, your code will run when you preview your site.
To view the Developer Console, open your site in Preview mode. The Developer Console appears at the bottom of the page.
If the console is minimized, click the arrow to expand it.
Click on the console menu bar.
Click Default View on the console menu bar, and then choose which kinds of messages you want to see.
- Verbose: System log messages that can help you debug low-level code problems.
- Debug: Messages you have logged to the console.
- Info: Informational messages that require no action.
- Warning: Messages about potential problems in your code. These are highlighted in yellow.
- Error: Messages about actual errors in your code. These are highlighted in red.
Note: This feature is not yet available in Wix Studio.
Debugging code from the backend is challenging because you need to invest effort to trigger the code and test it, such as calling functions from the client side on a test page in your site. To save you time and effort, Velo enables directly from the code panel. The output you see in the test tab is the same as the output you would see in the Developer Console if you previewed your site and triggered the function.
You can debug HTTP functions by adding
console.log() calls to them. The information you log appears in the function output when using (Wix Editor) and in your site's .
Here are a few things you need to know before you start debugging:
You can open a copy of your site's client-side code files in the browser's developer tools.
There are two easy ways to locate your code:
- Identify the names of the files that contain your site's client-side code. The names of these files appear in the Wix Developer Console when you preview your site.
- Browse to your published site and open your browser's developer tools.
- Open the file search bar. To do this in Chrome press command/Ctrl+O. In Firefox, open the Debugger panel in the developer tools and press command/Ctrl+P.
- Type the name of your code file and select it from the search results to open it.
Adding the statement to your code halts code execution at that point and prompts your browser to display the code file in developer tools.
debugger;at the point in your code where you want the debugger to run.
Open your browser's developer tools and browse to your published site. The Sources panel opens to your code file and points to the line where you added debugger.
Because of security concerns, messages in backend code are not logged to the browser's console on the published version of your site.
Because HTTP functions are not browser based, messages are not logged to the console when viewing the published version of your site.
You can use to view console messages in backend code and HTTP functions on the published version of your site.
When you debug your code in the browser it looks just like your original source code. In reality, the code you write is not the actual code that is run. The usage of source maps means that you don't need to worry about what's going on behind the scenes. But if you're curious to know, this is what's happening.
Velo supports writing code using the ES2017 standard. But until this standard is fully implemented in all browsers, your code is transpiled from ES2017 code to ES5. Your code is also minified, and source files are combined to make their delivery from the server more efficient.
So the code that's actually being run on your site is transpiled, minified, and combined. You don't want to have to debug that generated code. You want to debug the code you wrote originally. That's where source maps come in.
A source map is a file that maps the lines of code that the browser is actually running to the lines in your original source code. When you want to debug some code, the source map lets you find the code in the original version that you wrote, even though the debugger uses the source map to run the corresponding generated code.
All this should happen without you having to do anything. If you’re having trouble, check your browser’s developer tools settings and make sure that source maps are enabled.
Wix's tool allows you to debug your site by generating and tracking logs. You can access the Logs tool directly from Preview mode. To get to the Logs tool, click on Live Site Logs in your .
- You can use site logging to generate logs from client-side code, backend code, public code, HTTP functions, or anywhere else in your site.
- You can monitor site logs in both Preview mode and on your published site.
- You can also access the Logs tool in the, under Developer Tools (Wix Editor), or in your site's , under Settings.
You can view event logs in real time in the Site Events window. Simply add a to any code in your site, trigger the code in Preview mode or on your published site, and the log will appear in your Logs site events window.
You can click the log to view more information:
For more robust log analysis, you can easily connect your Wix site events to Google Operations, an external monitoring tool.
Learn more about:
If you're not familiar with logging messages to the console to debug your site, follow the instructions below to log messages to the Developer Console, Developer Tools, or to the Logs tool:
Add any to the code you want to debug.
For example, let's say you have a function called
myFunc()that performs an operation on a variable called
myVar. You want to check whether the function is being called and whether the operation on the variable is performed as expected. You can add the code below to your function. When the console message runs, the text within the quotes will be displayed, as well as the value of the
myVarvariable.Copy Codeconsole.log("Inside myFunc(). Value of myVar is: ", myVar);
In Preview mode or on your published site, perform whatever action will trigger
View the message in your tool of choice (Developer Console, Developer Tools, or Logs) to gain insight on how your code is behaving.
Note: If you log nested data to the console only the first 5 levels will appear in detail. To get detailed information on more deeply nested items, log them directly.
If you are receiving a 403 or FORBIDDEN error when you run a function, try using the function to bypass permissions.