I don’t know what you mean by bower and grunt. If it refers to the pwd that executes these two commands, then there is no so-called recursion in either of them
Among them, bower uses bower.json in the directory as the package description file, and the .bowerrc file as the bower configuration file
By default, grunt uses gruntfile.js in the current directory as the project task configuration file. You can also manually create gruntfiles in other paths, but the relative path and task execution path in the configuration file are based on the current path
It is known that you cannot search upward until you find the configuration file like the commonjs specification. So it is feasible to embed small projects.
I don’t know what you mean by bower and grunt. If it refers to the pwd that executes these two commands, then there is no so-called recursion in either of them
Among them, bower uses bower.json in the directory as the package description file, and the .bowerrc file as the bower configuration file
By default, grunt uses gruntfile.js in the current directory as the project task configuration file. You can also manually create gruntfiles in other paths, but the relative path and task execution path in the configuration file are based on the current path
It is known that you cannot search upward until you find the configuration file like the commonjs specification. So it is feasible to embed small projects.