dcloudio / dcloudio/uni-app

uniapp cli 中使用package.json的命令可以识别uni-app.scripts.xxx.define对注释条件编译,但hbuilderx中识别不了define

Open
#5,612 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
41.6k
Forks
3.7k
Avg merge
7h 6m
Merged PRs (30d)
6

Description

### 发行方式

H5

### 具体平台

chrome 138.0.7204.93

### 开发环境

macOS

### 项目创建方式

CLI命令行

### 依赖版本

Hbuilderx 4.66

"dependencies": {
"@dcloudio/uni-app": "^2.0.2-4020920240930001",
"@dcloudio/uni-app-plus": "^2.0.2-4020920240930001",
"@dcloudio/uni-h5": "^2.0.2-4020920240930001",
"@dcloudio/uni-i18n": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-360": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-alipay": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-baidu": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-jd": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-kuaishou": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-lark": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-qq": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-toutiao": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-vue": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-weixin": "^2.0.2-4020920240930001",
"@dcloudio/uni-mp-xhs": "^2.0.2-4020920240930001",
"@dcloudio/uni-quickapp-native": "^2.0.2-4020920240930001",
"@dcloudio/uni-quickapp-webview": "^2.0.2-4020920240930001",
"@dcloudio/uni-stacktracey": "^2.0.2-4020920240930001",
"@dcloudio/uni-stat": "^2.0.2-4020920240930001",
"@vue/shared": "^3.0.0",
"core-js": "^3.8.3",
"crypto-js": "^4.1.1",
"flv.js": "^1.6.2",
"flyio": "^0.6.2",
"js-base64": "2.6.4",
"js-sha256": "^0.9.0",
"jweixin-module": "^1.6.0",
"qs": "^6.11.0",
"querystring": "^0.2.1",
"string-random": "^0.1.3",
"uni-read-pages": "^1.0.5",
"uview-ui": "^2.0.38",
"vconsole": "^3.14.6",
"vue": ">= 2.6.14 < 2.7",
"vue-i18n": "^8.27.0",
"vuex": "^3.6.2",
"vuex-persistedstate": "^3.2.1",
"weapp-cookie": "^1.4.8"
},
"devDependencies": {
"@dcloudio/types": "^3.4.14",
"@dcloudio/uni-automator": "^2.0.2-4020920240930001",
"@dcloudio/uni-cli-i18n": "^2.0.2-4020920240930001",
"@dcloudio/uni-cli-shared": "^2.0.2-4020920240930001",
"@dcloudio/uni-helper-json": "*",
"@dcloudio/uni-migration": "^2.0.2-4020920240930001",
"@dcloudio/uni-template-compiler": "^2.0.2-4020920240930001",
"@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.2-4020920240930001",
"@dcloudio/vue-cli-plugin-uni": "^2.0.2-4020920240930001",
"@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.2-4020920240930001",
"@dcloudio/webpack-uni-mp-loader": "^2.0.2-4020920240930001",
"@dcloudio/webpack-uni-pages-loader": "^2.0.2-4020920240930001",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"@vue/runtime-dom": "latest",
"babel-plugin-import": "^1.13.8",
"compression-webpack-plugin": "^6.1.1",
"copy-webpack-plugin": "^5",
"cross-env": "^7.0.2",
"inquirer": "^8.2.1",
"jest": "^25.4.0",
"mini-types": "*",
"miniprogram-api-typings": "*",
"npm-check-updates": "^16.13.2",
"postcss-comment": "^2.0.0",
"sass": "~1.49.9",
"sass-loader": "~10.2.1",
"uni-pages-hot-modules": "^0.1.3",
"vue-template-compiler": ">= 2.6.14 < 2.7"
},

### 问题描述

uniapp cli 中使用package.json的命令可以识别uni-app.scripts.xxx.define对注释条件编译,但hbuilderx中识别不了define

### 重现步骤

uniapp cli项目中,package.json配置如下:
"scripts": {
"dev:h5:test": "npm run dev:custom test",
"dev:h5:prod": "npm run dev:custom prod",
"dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch",
"build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",
"build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build",
"build:custom": "cross-env NODE_ENV=production uniapp-cli custom",
"dev:custom": "cross-env NODE_ENV=development uniapp-cli custom"
},
"uni-app": {
"scripts": {
"test": {
"title": "H5 测试环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-DEV": true,
"H5-UAT": false,
"H5-WOYUN": false,
"H5-SUIWX": false,
"H5-DONGSI": false,
"H5-PROD": false,
"H5-PRODZZ": false
}
},
"uat": {
"title": "H5 uat环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-UAT": true,
"H5-DEV": false,
"H5-WOYUN": false,
"H5-SUIWX": false,
"H5-DONGSI": false,
"H5-PROD": false,
"H5-PRODZZ": false
}
},
"woyun": {
"title": "H5 沃云环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-WOYUN": true,
"H5-DEV": false,
"H5-UAT": false,
"H5-SUIWX": false,
"H5-DONGSI": false,
"H5-PROD": false,
"H5-PRODZZ": false
}
},
"suiwx": {
"title": "H5 随沃行环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-SUIWX": true,
"H5-DEV": false,
"H5-WOYUN": false,
"H5-DONGSI": false,
"H5-PROD": false,
"H5-PRODZZ": false
}
},
"dongsi": {
"title": "H5 东四演示环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-DONGSI": true,
"H5-DEV": false,
"H5-WOYUN": false,
"H5-SUIWX": false,
"H5-PROD": false,
"H5-PRODZZ": false
}
},
"prod": {
"title": "H5 西咸生产环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-PROD": true,
"H5-DEV": false,
"H5-WOYUN": false,
"H5-SUIWX": false,
"H5-DONGSI": false,
"H5-PRODZZ": false
}
},
"prodzz": {
"title": "H5 郑州生产环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-PRODZZ": true,
"H5-DEV": false,
"H5-WOYUN": false,
"H5-SUIWX": false,
"H5-DONGSI": false,
"H5-PROD": false
}
}
}
}

当我本地跑npm run dev:h5:test时,下面代码会执行,但使用hbuilderx运行到h5测试环境后,下面的代码走不进去为什么?
// #ifdef H5-DEV
// eslint-disable-next-line no-console
console.log('===》===》===》===H5-DEV H5-DEV H5-DEV ===《===《===《===');
// #endif

### 期望行为

通过cli或者hbuilderX运行同样的环境,注释都应该被正确识别到

### 实际行为

表现不一致,命令行启动的h5正确识别了条件注释,但通过hbuilderx运行的没有识别条件注释

### 截图或录屏

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.