@bams-app/work-cli 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/work-cli.js +4 -1
- package/commands/add.js +3 -1
- package/commands/create.js +10 -4
- package/package.json +1 -1
- package/templates/project/.envs/.env.dev-demo +7 -3
- package/templates/project/.envs/README.md +17 -10
- package/templates/project/.npmrc.tpl +2 -0
package/README.md
CHANGED
|
@@ -165,12 +165,12 @@ cd work/configs && npm publish --registry=https://registry.npmjs.org/
|
|
|
165
165
|
统一声明,发布后随 `npm install` 自动安装到用户项目,无需逐包注入。
|
|
166
166
|
|
|
167
167
|
发布后 work-cli 的 `dependencies` 应从 `file:../work/cli/...` 改为对应 registry 版本号
|
|
168
|
-
(`^0.1
|
|
168
|
+
(`^0.0.1` 等),`create` 生成的项目则声明 `"@bams-app/ui-dev-server": "^0.0.1"`。
|
|
169
169
|
|
|
170
170
|
## 用户项目升级
|
|
171
171
|
|
|
172
172
|
用户项目依赖 `@bams-app/*` 的方式决定升级方式:本地验证模式为 `file:` 引用 work 本地包,
|
|
173
|
-
发布后模式仅直接依赖 `@bams-app/ui-dev-server`(`^0.1
|
|
173
|
+
发布后模式仅直接依赖 `@bams-app/ui-dev-server`(`^0.0.1`),能力包由 ui-dev-server 的
|
|
174
174
|
dependencies(`"*"`)传递安装。
|
|
175
175
|
|
|
176
176
|
### 一键升级(推荐)
|
package/bin/work-cli.js
CHANGED
package/commands/add.js
CHANGED
|
@@ -101,11 +101,13 @@ async function main(args) {
|
|
|
101
101
|
process.exit(1);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
+
// 先校验组件类型并解析 create-ui-* 入口,校验不通过时不应留下任何副作用
|
|
105
|
+
const createBin = resolveCreateBin(type);
|
|
106
|
+
|
|
104
107
|
// 将 scope 目录注册到项目 workspaces
|
|
105
108
|
ensureWorkspaceScope(projectRoot, scopeDir);
|
|
106
109
|
|
|
107
110
|
// 委托对应 create-ui-* 包(复用 work 的模板与命令)
|
|
108
|
-
const createBin = resolveCreateBin(type);
|
|
109
111
|
|
|
110
112
|
const binArgs = [
|
|
111
113
|
'--dir', path.resolve(projectRoot, scopeDir),
|
package/commands/create.js
CHANGED
|
@@ -43,7 +43,7 @@ function buildUiDevServerDep() {
|
|
|
43
43
|
return `"@bams-app/ui-dev-server": "file:${pkgDir}"`;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
return `"@bams-app/ui-dev-server": "^0.1
|
|
46
|
+
return `"@bams-app/ui-dev-server": "^0.0.1"`;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
/**
|
|
@@ -140,9 +140,15 @@ async function main(args) {
|
|
|
140
140
|
// 1. 拷贝项目模板
|
|
141
141
|
copyDir(PROJECT_TEMPLATE_DIR, targetDir);
|
|
142
142
|
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
const tplRenames = [
|
|
144
|
+
['gitignore.tpl', '.gitignore'],
|
|
145
|
+
['.npmrc.tpl', '.npmrc']
|
|
146
|
+
];
|
|
147
|
+
for (const [from, to] of tplRenames) {
|
|
148
|
+
const tplPath = path.join(targetDir, from);
|
|
149
|
+
if (fs.existsSync(tplPath)) {
|
|
150
|
+
fs.renameSync(tplPath, path.join(targetDir, to));
|
|
151
|
+
}
|
|
146
152
|
}
|
|
147
153
|
|
|
148
154
|
// 2. 生成 .bams-work 标记目录(findProjectRoot 定位项目根)
|
package/package.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# 开发环境(示例),可复制为 .env.dev-<标识> 使用
|
|
2
|
-
#
|
|
2
|
+
#
|
|
3
|
+
# ⚠ PROXY_TARGET 必须填写真实的后端服务地址,禁止填写 127.0.0.1 / localhost。
|
|
4
|
+
# 当 PROXY_TARGET 指向本机(即 dev server 自身端口)时会形成代理自环,
|
|
5
|
+
# /bams-assets、/admin-api 等前缀的请求会返回 431,Vue 等全局库加载失败导致页面白屏。
|
|
6
|
+
# 端口约定:PORT 与 PROXY_TARGET 的端口保持一致,首次使用请按实际后端地址修改。
|
|
3
7
|
NODE_ENV=development
|
|
4
|
-
PORT=
|
|
5
|
-
PROXY_TARGET=http://
|
|
8
|
+
PORT=8700
|
|
9
|
+
PROXY_TARGET=http://192.168.7.11:8700
|
|
6
10
|
BASE_URL=/
|
|
7
11
|
|
|
8
12
|
VUE_APP_TITLE=BAMS组件开发环境
|
|
@@ -9,16 +9,23 @@
|
|
|
9
9
|
|
|
10
10
|
## 关键变量
|
|
11
11
|
|
|
12
|
-
| 变量名 | 说明
|
|
13
|
-
| ------------------------- |
|
|
14
|
-
| `PROXY_TARGET` |
|
|
15
|
-
| `PORT` | 开发服务器端口,需与代理目标端口一致
|
|
16
|
-
| `BASE_URL` | 应用基础路径
|
|
17
|
-
| `VUE_APP_TITLE` | 浏览器标签页标题
|
|
18
|
-
| `VUE_APP_SYS_CODE` | 系统编码
|
|
19
|
-
| `COMPONENT_LOGIN` | 登录组件包名(可配置插槽)
|
|
20
|
-
| `COMPONENT_STARTR_LAYOUT` | 布局组件包名(可配置插槽)
|
|
21
|
-
| `VUE_APP_*` | 注入前端代码的编译变量(勿存放敏感信息)
|
|
12
|
+
| 变量名 | 说明 |
|
|
13
|
+
| ------------------------- | ---------------------------------------------------- |
|
|
14
|
+
| `PROXY_TARGET` | 开发代理目标地址(真实后端服务主机,禁止写本机地址) |
|
|
15
|
+
| `PORT` | 开发服务器端口,需与代理目标端口一致 |
|
|
16
|
+
| `BASE_URL` | 应用基础路径 |
|
|
17
|
+
| `VUE_APP_TITLE` | 浏览器标签页标题 |
|
|
18
|
+
| `VUE_APP_SYS_CODE` | 系统编码 |
|
|
19
|
+
| `COMPONENT_LOGIN` | 登录组件包名(可配置插槽) |
|
|
20
|
+
| `COMPONENT_STARTR_LAYOUT` | 布局组件包名(可配置插槽) |
|
|
21
|
+
| `VUE_APP_*` | 注入前端代码的编译变量(勿存放敏感信息) |
|
|
22
|
+
|
|
23
|
+
> ⚠️ **`PROXY_TARGET` 不要填写 `127.0.0.1` / `localhost`**
|
|
24
|
+
>
|
|
25
|
+
> 当 `PROXY_TARGET` 与开发服务器自身同地址同端口时,代理会指向自己形成自环,
|
|
26
|
+
> `/bams-assets`、`/bams-ui-umd`、`/bams-app`、`/admin-api`、`/preview` 等前缀的请求将返回
|
|
27
|
+
> **431 Request Header Fields Too Large**,Vue / Vue Router / Pinia 等全局库无法加载,
|
|
28
|
+
> 表现为**页面白屏且控制台无报错**。请填写真实后端主机,例如 `http://192.168.7.11:8700`。
|
|
22
29
|
|
|
23
30
|
## 创建新环境
|
|
24
31
|
|