From d3d85941abdef2923a596fe2a9f62975d7ef9690 Mon Sep 17 00:00:00 2001 From: fxy060608 Date: Tue, 10 Mar 2020 18:43:17 +0800 Subject: [PATCH] feat(qa): add validate --- .../uni-quickapp/lib/configure-webpack.js | 10 ++++---- .../uni-quickapp/lib/manifest/base-parser.js | 4 ++++ packages/uni-quickapp/lib/validate.js | 24 +++++++++++++++++++ packages/vue-cli-plugin-uni/lib/env.js | 2 +- 4 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 packages/uni-quickapp/lib/validate.js diff --git a/packages/uni-quickapp/lib/configure-webpack.js b/packages/uni-quickapp/lib/configure-webpack.js index 014064594..edeb9e229 100644 --- a/packages/uni-quickapp/lib/configure-webpack.js +++ b/packages/uni-quickapp/lib/configure-webpack.js @@ -12,6 +12,11 @@ const Css2jsonPlugin = require('@hap-toolkit/dsl-vue/lib/plugin/css2json-plugin' const InstVuePlugin = require('./plugin/instvue-plugin') const parseManifest = require('./manifest/index') +const validate = require('./validate') + +parseManifest(process.UNI_PAGES, process.UNI_MANIFEST) + +validate() const env = { // 平台:native @@ -22,14 +27,9 @@ const env = { const dslFilename = ('vue.' + (process.env.NODE_ENV === 'production' ? 'prod' : 'dev') + '.js') -parseManifest(process.UNI_PAGES, process.UNI_MANIFEST) const manifest = global.framework.manifest -if (!manifest.package) { - console.error(`maniest.json quickapp 节点缺少 package 配置`) - process.exit(0) -} function genPriorities(entryPagePath) { const o = [/^i18n\/.+\.json$/i, 'manifest.json', 'app.js', /^common\//i]; diff --git a/packages/uni-quickapp/lib/manifest/base-parser.js b/packages/uni-quickapp/lib/manifest/base-parser.js index da5dd0d77..9e48e9449 100644 --- a/packages/uni-quickapp/lib/manifest/base-parser.js +++ b/packages/uni-quickapp/lib/manifest/base-parser.js @@ -16,6 +16,10 @@ module.exports = function parseBase(manifest, manifestJson) { merge(manifest, manifestJson) manifest.versionCode = parseInt(manifest.versionCode) || 1 + if (!manifest.package) { + manifest.package = manifest.name || 'Bundle' + } + if (!manifest.config) { manifest.config = {} } diff --git a/packages/uni-quickapp/lib/validate.js b/packages/uni-quickapp/lib/validate.js new file mode 100644 index 000000000..a3fd4f35b --- /dev/null +++ b/packages/uni-quickapp/lib/validate.js @@ -0,0 +1,24 @@ +const fs = require('fs') +const path = require('path') + +module.exports = function() { + const manifest = global.framework.manifest + + if (manifest.package === 'Bundle') { + console.error(`> 建议配置 manifest.json->quickapp->package 应用包名`) + } + + const signPath = './sign/' + (process.env.NODE_ENV === 'production' ? 'release' : 'debug') + const privatePemPath = path.resolve(process.env.UNI_INPUT_DIR, signPath + '/private.pem') + const certificatePemPath = path.resolve(process.env.UNI_INPUT_DIR, signPath + '/certificate.pem') + + if (!fs.existsSync(privatePemPath)) { + console.error(`> 缺少私钥文件, 打包失败: ${privatePemPath}`) + process.exit(0) + } + + if (!fs.existsSync(certificatePemPath)) { + console.error(`> 缺少证书文件, 打包失败: ${certificatePemPath}`) + process.exit(0) + } +} diff --git a/packages/vue-cli-plugin-uni/lib/env.js b/packages/vue-cli-plugin-uni/lib/env.js index ddfb9809e..eb1066f2d 100644 --- a/packages/vue-cli-plugin-uni/lib/env.js +++ b/packages/vue-cli-plugin-uni/lib/env.js @@ -280,7 +280,7 @@ let hasNVue = false if (process.env.UNI_USING_NATIVE) { console.log('当前nvue编译模式:' + (isNVueCompiler ? 'uni-app' : 'weex') + ' 。编译模式差异见:https://ask.dcloud.net.cn/article/36074') -} else if (process.env.UNI_PLATFORM !== 'h5') { +} else if (process.env.UNI_PLATFORM !== 'h5' && process.env.UNI_PLATFORM !== 'quickapp') { try { let info = '' if (process.env.UNI_PLATFORM === 'app-plus') { -- GitLab