From 96d745add84abfee3f5d4ef4e7b4dcf70104a969 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Wed, 10 Nov 2021 19:13:56 +0800 Subject: [PATCH] feat: auto install plugin --- .../vue-cli-plugin-uni/util/format-errors.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/vue-cli-plugin-uni/util/format-errors.js b/packages/vue-cli-plugin-uni/util/format-errors.js index 4bf91d2aec..dc436f9197 100644 --- a/packages/vue-cli-plugin-uni/util/format-errors.js +++ b/packages/vue-cli-plugin-uni/util/format-errors.js @@ -78,9 +78,12 @@ function ModuleBuildError (err) { builtinCompile = 'pug/jade' } if (builtinCompile) { + const autoInstall = supportAutoInstallPlugin() + autoInstall && sendSignal(name) return { message: '预编译器错误:代码使用了' + builtinCompile + - '语言,但未安装相应的编译器插件,请前往插件市场安装该插件:\nhttps://ext.dcloud.net.cn/plugin?name=' + name + '语言,但未安装相应的编译器插件,' + (autoInstall ? '正在从' : '请前往') + '插件市场安装该插件:\nhttps://ext.dcloud.net.cn/plugin?name=' + + name } } } else if (~firstLineMessage.indexOf('Module parse failed')) { @@ -94,6 +97,18 @@ function ModuleBuildError (err) { return formatMessage(err.message) } +function supportAutoInstallPlugin () { + return false +} + +function sendSignal (lang) { + if (supportAutoInstallPlugin()) { + return console.error( + `%HXRunUniAPPPluginName%${lang}%HXRunUniAPPPluginName%` + ) + } +} + function ModuleNotFoundError (err) { const matches = err.message.match(/Can't resolve '(.*loader)'/) if (matches && matches.length > 0) { -- GitLab