dcloudio / dcloudio/uni-app

使用hbuilderx调试和打包app时,无法直接使用package.json中的命令

Open
#2,424 1 comment 0 reactions 1 assignee Claimed by @Otto-J View on GitHub
HBuilderX question
Dominant language
JavaScript
Stars
41.6k
Forks
3.7k
Avg merge
7h 6m
Merged PRs (30d)
6

Description

**问题描述**
在用hbuilderx进行调试(即选择运行到手机或模拟器)及打包app时,[vue-cli的模式和环境变量](https://cli.vuejs.org/zh/guide/mode-and-env.html)不起作用,且不能指定使用某个命令

**详细描述**
用vue-cli建立的项目。由于测试环境和生产环境都不止一个,为了便于统一配置不同环境用到的一些数据,就采用了vue-cli的环境变量配置。结果在用hbuilderx调试和打包app时,无论怎么配置package.json中 dev:app-plus 和 build:app-plus 这2个命令,都不会生效。
说明hbuilderx对于app的调试及打包,始终都是用的固定的命令,而不是项目中package.json定义的/(ㄒoㄒ)/~~
。。。
调来调去,最终发现,运行时会使用.env.development,打包时会使用.env.production。可即便如此,每次用hbuilderx调试&发布不同环境的app时都得先去改这2个文件,既麻烦又可能出错,还会影响打包成其他类型的资源。所以还是希望**官方可以给hbuilderx支持在调试/(云端)打包app时,能够手动选择package.json内的命令**,比如dev:app-plus-testxx / build:app-plus-testxx,而不是固定死了,不灵活( ・´ω`・ )
eg.
```
"dev:app-plus": "cross-env NODE_ENV=development PACKENV=test UNI_PLATFORM=app-plus vue-cli-service uni-build --watch --mode test",
"dev:app-plus-testxxx": "cross-env NODE_ENV=development PACKENV=testxx UNI_PLATFORM=app-plus vue-cli-service uni-build --watch --mode testxxx",
"build:app-plus": "cross-env NODE_ENV=production PACKENV=testxx UNI_PLATFORM=app-plus vue-cli-service uni-build --mode testxxx",
```

**预期结果**
用hbuilderx运行app时,默认情况下使用 dev:app-plus 命令
process.env. PACKENV 是 test
会使用项目内的 .env.test 配置

用hbuilderx运行app时能够选择使用 dev:app-plus-testxxx 命令
process.env. PACKENV 是 testxxx
会使用项目内的 .env.testxxx 配置

**实际结果**
用hbuilderx运行和打包时不能选择package.json内的某个命令
process.env. PACKENV 是 undefined
不会使用项目内的 .env.test 或 .env.testxx 配置

**系统信息:**
- 发行平台: [5+ App]
- 操作系统 [iOS 12.1.2、Android 7.0]
- HBuilderX版本 [3.0.5.20210107]
- uni-app版本
```
uni-app v3.0.5
uni-app cli v2.0.0-30520210106003

Environment Info:

System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
Binaries:
Node: 15.5.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.10 - C:\Program Files\nodejs\yarn.CMD
npm: 7.3.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Not Found
npmPackages:
@dcloudio/types: * => 2.0.21
@dcloudio/uni-app-plus: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-app-plus-nvue: 0.0.1
@dcloudio/uni-app-plus-nvue-v8: 0.0.1
@dcloudio/uni-automator: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-cli-shared: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-h5: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-helper-json: 1.0.11 => 1.0.11
@dcloudio/uni-migration: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-mp-360: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-mp-alipay: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-mp-baidu: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-mp-qq: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-mp-toutiao: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-mp-weixin: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-quickapp-native: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-quickapp-webview: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-stat: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/uni-template-compiler: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/vue-cli-plugin-hbuilderx: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/vue-cli-plugin-uni: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/vue-cli-plugin-uni-optimize: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/webpack-uni-mp-loader: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@dcloudio/webpack-uni-nvue-loader: 0.0.1
@dcloudio/webpack-uni-pages-loader: ^2.0.0-30520210106003 => 2.0.0-30520210106003
@hap-toolkit/dsl-vue: 0.6.13
@vue/babel-helper-vue-jsx-merge-props: 1.0.0
@vue/babel-helper-vue-transform-on: 1.0.0
@vue/babel-plugin-jsx: 1.0.1
@vue/babel-plugin-transform-vue-jsx: 1.1.2
@vue/babel-preset-app: 4.5.10
@vue/babel-preset-jsx: 1.1.2
@vue/babel-sugar-functional-vue: 1.1.2
@vue/babel-sugar-inject-h: 1.1.2
@vue/babel-sugar-v-model: 1.1.2
@vue/babel-sugar-v-on: 1.1.2
@vue/cli-overlay: 4.5.10
@vue/cli-plugin-babel: ~4.5.3 => 4.5.10
@vue/cli-plugin-router: 4.5.10
@vue/cli-plugin-vuex: 4.5.10
@vue/cli-service: ~4.5.3 => 4.5.10
@vue/cli-shared-utils: 4.5.10
@vue/component-compiler-utils: 3.2.0 (3.2.0)
@vue/preload-webpack-plugin: 1.1.2
@vue/web-component-wrapper: 1.2.0
mpvue-page-factory: 1.0.1
mpvue-template-compiler: 1.0.13
uni-h5-vue: 2.6.10
uni-mp-vue: 2.6.10
vue: ^2.6.12 => 2.6.12
vue-hot-reload-api: 2.3.4
vue-loader: 15.9.3 (16.1.2, 15.9.3)
vue-router: 3.0.1
vue-style-loader: 4.1.2
vue-template-compiler: ^2.6.12 => 2.6.12 (2.6.12)
vue-template-es2015-compiler: 1.9.1
vuex: ^3.6.0 => 3.6.0
npmGlobalPackages:
@vue/cli: Not Found
```
没用npm全局装vue-cli,所以找不到npm的全局vue-cli

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.