提交 c256cdaa 编写于 作者: fxy060608's avatar fxy060608

feat(uniCloud): add warning

上级 eaf04068
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const path_1 = __importDefault(require("path"));
const fast_glob_1 = require("fast-glob");
const shared_1 = require("@vue/shared");
const uni_shared_1 = require("@dcloudio/uni-shared");
const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
......@@ -61,7 +66,34 @@ const initUniCloudWarningOnce = (0, uni_shared_1.once)(() => {
uniCloudSpaces.length &&
console.warn('当前项目使用了uniCloud,为避免云函数调用跨域问题,建议在HBuilderX内置浏览器里调试,如使用外部浏览器需处理跨域,详见:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5');
});
function checkProjectUniCloudDir() {
return !!(0, fast_glob_1.sync)(['uniCloud-aliyun', 'uniCloud-tcb'], {
cwd: (0, uni_cli_shared_1.isInHBuilderX)()
? process.env.UNI_INPUT_DIR
: process.env.UNI_CLI_CONTEXT,
onlyDirectories: true,
onlyFiles: false,
ignore: ['node_modules'],
}).length;
}
function resolveUniCloudModules() {
return (0, fast_glob_1.sync)('**/uni_modules/*/uniCloud', {
cwd: process.env.UNI_INPUT_DIR,
onlyDirectories: true,
onlyFiles: false,
ignore: ['node_modules'],
}).map((dir) => path_1.default.dirname(dir));
}
function checkUniModules() {
if (!checkProjectUniCloudDir()) {
const uniCloudModules = resolveUniCloudModules();
if (uniCloudModules.length) {
console.warn(`${uniCloudModules.join(', ')} 使用了uniCloud,而项目未启动uniCloud。需在项目点右键创建uniCloud环境`);
}
}
}
function initUniCloudEnv() {
checkUniModules();
if (!process.env.UNI_CLOUD_SPACES) {
return;
}
......
......@@ -23,6 +23,7 @@
"@dcloudio/uni-cli-shared": "3.0.0-alpha-3050020220617004",
"@dcloudio/uni-i18n": "3.0.0-alpha-3050020220617004",
"@dcloudio/uni-shared": "3.0.0-alpha-3050020220617004",
"@vue/shared": "3.2.37"
"@vue/shared": "3.2.37",
"fast-glob": "^3.2.11"
}
}
import path from 'path'
import { sync } from 'fast-glob'
import { isArray } from '@vue/shared'
import { once } from '@dcloudio/uni-shared'
import {
......@@ -6,6 +8,7 @@ import {
isInHybridNVue,
uniViteInjectPlugin,
UniVitePlugin,
isInHBuilderX,
} from '@dcloudio/uni-cli-shared'
import { uniValidateFunctionPlugin } from './validateFunction'
......@@ -88,7 +91,41 @@ const initUniCloudWarningOnce = once(() => {
)
})
function checkProjectUniCloudDir() {
return !!sync(['uniCloud-aliyun', 'uniCloud-tcb'], {
cwd: isInHBuilderX()
? process.env.UNI_INPUT_DIR
: process.env.UNI_CLI_CONTEXT,
onlyDirectories: true,
onlyFiles: false,
ignore: ['node_modules'],
}).length
}
function resolveUniCloudModules() {
return sync('**/uni_modules/*/uniCloud', {
cwd: process.env.UNI_INPUT_DIR,
onlyDirectories: true,
onlyFiles: false,
ignore: ['node_modules'],
}).map((dir) => path.dirname(dir))
}
function checkUniModules() {
if (!checkProjectUniCloudDir()) {
const uniCloudModules = resolveUniCloudModules()
if (uniCloudModules.length) {
console.warn(
`${uniCloudModules.join(
', '
)} 使用了uniCloud,而项目未启动uniCloud。需在项目点右键创建uniCloud环境`
)
}
}
}
function initUniCloudEnv() {
checkUniModules()
if (!process.env.UNI_CLOUD_SPACES) {
return
}
......
......@@ -409,11 +409,13 @@ importers:
'@dcloudio/uni-i18n': 3.0.0-alpha-3050020220617004
'@dcloudio/uni-shared': 3.0.0-alpha-3050020220617004
'@vue/shared': 3.2.37
fast-glob: ^3.2.11
dependencies:
'@dcloudio/uni-cli-shared': link:../uni-cli-shared
'@dcloudio/uni-i18n': link:../uni-i18n
'@dcloudio/uni-shared': link:../uni-shared
'@vue/shared': 3.2.37
fast-glob: 3.2.11
packages/uni-components:
specifiers:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册