handle error on loading module, fix #1296 #1322
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
What kind of change does this PR introduce? (check at least one)
If changing the UI of default theme, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)
If yes, please describe the impact and migration path for existing applications:
Old non-string request resolution
Try to resolve the request as absolute/relative/dependency path and import them in chain. Use the first result as the resolved module. If any error was encounted, respective resolution will be skipped.
What are the drawbacks?
cannot resolve plugin
may mislead user with an indication that the theme or plugin is not found instead of wrong.plugin
is displayed.This PR's implementation
Try to resolve the request as absolute/relative/dependency path in chain.
en error was encounted in plugin "xxx"
.cannot resolve plugin "xxx"
.plugin
withtheme
.Breaking change
The probability that a breaking change occurs is rather small. Supposing there are two "entry" files with the same name. One is in the relative path (call it foo1), the other is a dependency of the project (call it foo2). Supposing foo1 has an error in it, and foo2 is normal:
foo2 will be loaded with previous methods, while no module will be loaded in this PR.
The PR fulfills these requirements:
fix #xxx[,#xxx]
, where "xxx" is the issue number)You have tested in the following browsers: (Providing a detailed version will be better.)
N/A
If adding a new feature, the PR's description includes:
To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.