Sure!
Your solution is another way to load the script, you can keep going with it.
But with the first way, I think the empty single quotes inside the dependencies array are the problem in your code. The empty string is taken as a dependency that will not be found, thus the script won’t be loaded without its dependencies.
I recommend the .asset.php
way cause that will always give WP control on when to load the asset and when not to.
You need to create product-grid.asset.php
beside product-grid.js
that returns an array with the following keys:
- handle (string)
- dependencies (string[])
- version (string|false|null)
Check here: https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#wpdefinedasset