@qingtian/qtcli 1.0.2-beta.2 → 1.0.2-beta.4
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 +170 -237
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,260 +1,193 @@
|
|
|
1
|
-
#
|
|
1
|
+
# QTCli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
QTCli 是一款基于 Node.js 的前端工程化底座,提供了完整的项目构建、开发和部署解决方案。
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 特性
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
- 🔍
|
|
13
|
-
-
|
|
7
|
+
- 🚀 快速创建和初始化项目
|
|
8
|
+
- 📦 内置 Webpack 构建配置
|
|
9
|
+
- 🔥 支持 React + TypeScript 开发
|
|
10
|
+
- 🎨 支持 Less、Sass、CSS Modules
|
|
11
|
+
- 📱 支持移动端适配
|
|
12
|
+
- 🔍 内置 ESLint、StyleLint 代码规范检查
|
|
13
|
+
- 🛠 支持自定义配置和插件扩展
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## 安装
|
|
16
16
|
|
|
17
|
-
- Node.js >= 14.0.0
|
|
18
|
-
- npm (通常随 Node.js 一起安装)
|
|
19
|
-
|
|
20
|
-
## 🚀 快速开始
|
|
21
|
-
|
|
22
|
-
### 1. 查看帮助信息
|
|
23
17
|
```bash
|
|
24
|
-
|
|
18
|
+
npm install -g qtcli
|
|
25
19
|
```
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
# 交互式输入密码
|
|
30
|
-
node file-crypto.js encrypt test.txt test.enc
|
|
21
|
+
## 使用方法
|
|
31
22
|
|
|
32
|
-
|
|
33
|
-
node file-crypto.js encrypt test.txt test.enc mypassword
|
|
34
|
-
```
|
|
23
|
+
### 查看帮助
|
|
35
24
|
|
|
36
|
-
### 3. 解密文件
|
|
37
25
|
```bash
|
|
38
|
-
|
|
39
|
-
node file-crypto.js decrypt test.enc test_decrypted.txt
|
|
40
|
-
|
|
41
|
-
# 直接指定密码
|
|
42
|
-
node file-crypto.js decrypt test.enc test_decrypted.txt mypassword
|
|
26
|
+
qtcli --help
|
|
43
27
|
```
|
|
44
28
|
|
|
45
|
-
###
|
|
46
|
-
```bash
|
|
47
|
-
node file-crypto.js info test.txt
|
|
48
|
-
```
|
|
29
|
+
### 初始化项目
|
|
49
30
|
|
|
50
|
-
### 5. 验证加密文件
|
|
51
31
|
```bash
|
|
52
|
-
|
|
32
|
+
qtcli init [options]
|
|
53
33
|
```
|
|
54
34
|
|
|
55
|
-
|
|
35
|
+
### 开发模式
|
|
56
36
|
|
|
57
|
-
### 命令格式
|
|
58
37
|
```bash
|
|
59
|
-
|
|
38
|
+
qtcli dev [options]
|
|
60
39
|
```
|
|
61
40
|
|
|
62
|
-
###
|
|
41
|
+
### 构建项目
|
|
63
42
|
|
|
64
|
-
#### `encrypt` - 加密文件
|
|
65
43
|
```bash
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
## 🔄 错误处理
|
|
218
|
-
|
|
219
|
-
### 常见错误信息
|
|
220
|
-
```
|
|
221
|
-
❌ 加密失败: 输入文件不存在: input.txt
|
|
222
|
-
❌ 解密失败: 文件格式错误,无法解密
|
|
223
|
-
❌ 解密失败: 密码错误
|
|
224
|
-
❌ 无法获取文件信息: file.txt
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
### 错误代码
|
|
228
|
-
- **文件不存在**: 检查文件路径是否正确
|
|
229
|
-
- **权限不足**: 检查文件读写权限
|
|
230
|
-
- **磁盘空间不足**: 清理磁盘空间
|
|
231
|
-
- **密码错误**: 确认密码正确性
|
|
232
|
-
|
|
233
|
-
## 📄 许可证
|
|
234
|
-
|
|
235
|
-
MIT License
|
|
236
|
-
|
|
237
|
-
## 🤝 贡献
|
|
238
|
-
|
|
239
|
-
欢迎提交 Issue 和 Pull Request!
|
|
240
|
-
|
|
241
|
-
## 📞 支持
|
|
242
|
-
|
|
243
|
-
如果您遇到问题或有建议,请:
|
|
244
|
-
1. 查看本文档的常见问题部分
|
|
245
|
-
2. 提交 GitHub Issue
|
|
246
|
-
3. 联系开发者
|
|
247
|
-
|
|
248
|
-
## 📈 更新日志
|
|
249
|
-
|
|
250
|
-
### v1.0.0 (2024-01-01)
|
|
251
|
-
- 🎉 初始版本发布
|
|
252
|
-
- ✨ 支持基本的文件加密解密
|
|
253
|
-
- 🔐 使用 AES-256-CBC 算法
|
|
254
|
-
- 💻 命令行界面
|
|
255
|
-
- 🔍 文件验证功能
|
|
256
|
-
- 📊 文件信息显示
|
|
257
|
-
|
|
258
|
-
---
|
|
259
|
-
|
|
260
|
-
**注意**: 这是一个演示工具,用于学习和测试目的。在生产环境中使用前,请确保了解相关的安全风险。
|
|
44
|
+
qtcli build [options]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## 全局选项
|
|
48
|
+
|
|
49
|
+
-V, --version: 显示版本号
|
|
50
|
+
-D, --debug: 启用调试模式
|
|
51
|
+
-h, --help: 显示帮助信息
|
|
52
|
+
|
|
53
|
+
## 项目结构
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
my-project/
|
|
57
|
+
├── src/ # 源代码目录
|
|
58
|
+
├── public/ # 静态资源目录
|
|
59
|
+
├── dist/ # 构建输出目录
|
|
60
|
+
└── qt.conf.js # 项目配置文件
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 配置说明
|
|
64
|
+
|
|
65
|
+
在项目根目录创建 `qt.conf.js` 文件进行自定义配置:
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
export default {
|
|
69
|
+
// 构建类型
|
|
70
|
+
buildType: 'WEB',
|
|
71
|
+
|
|
72
|
+
// 解决方案名称
|
|
73
|
+
solutionName: 'my-project',
|
|
74
|
+
|
|
75
|
+
// 构建模式
|
|
76
|
+
buildMode: {
|
|
77
|
+
development: 'DEVELOPMENT',
|
|
78
|
+
production: 'PRODUCTION',
|
|
79
|
+
test: 'TEST',
|
|
80
|
+
analyze: 'ANALYZE'
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
// 项目配置
|
|
84
|
+
config: {
|
|
85
|
+
// HTML 注入配置
|
|
86
|
+
htmlInject: {
|
|
87
|
+
head: [
|
|
88
|
+
// meta 标签
|
|
89
|
+
{
|
|
90
|
+
tag: 'meta',
|
|
91
|
+
attrs: {
|
|
92
|
+
charset: 'utf-8'
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
tag: 'meta',
|
|
97
|
+
attrs: {
|
|
98
|
+
name: 'viewport',
|
|
99
|
+
content: 'width=device-width, initial-scale=1'
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
// link 标签
|
|
103
|
+
{
|
|
104
|
+
tag: 'link',
|
|
105
|
+
attrs: {
|
|
106
|
+
rel: 'stylesheet',
|
|
107
|
+
href: '/static/css/global.css'
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
body: [
|
|
112
|
+
// body 中的 script
|
|
113
|
+
{
|
|
114
|
+
tag: 'script',
|
|
115
|
+
attrs: {
|
|
116
|
+
src: '/static/js/init.js'
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
// JavaScript 代码片段注入配置
|
|
123
|
+
jsInject: {
|
|
124
|
+
head: [
|
|
125
|
+
{
|
|
126
|
+
code: `window.APP_CONFIG = {
|
|
127
|
+
version: '1.0.0',
|
|
128
|
+
env: '${process.env.NODE_ENV}',
|
|
129
|
+
apiUrl: '${process.env.API_URL}'
|
|
130
|
+
};`
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
body: [
|
|
134
|
+
{
|
|
135
|
+
code: `document.addEventListener('DOMContentLoaded', function() {
|
|
136
|
+
console.log('DOM loaded');
|
|
137
|
+
});`
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
|
|
142
|
+
// 环境变量配置
|
|
143
|
+
env: {
|
|
144
|
+
development: {
|
|
145
|
+
NODE_ENV: 'development',
|
|
146
|
+
API_URL: 'http://dev-api.example.com'
|
|
147
|
+
},
|
|
148
|
+
production: {
|
|
149
|
+
NODE_ENV: 'production',
|
|
150
|
+
API_URL: 'http://api.example.com'
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
|
|
155
|
+
// webpack 配置
|
|
156
|
+
webpackConfig: {
|
|
157
|
+
// 开发服务器配置
|
|
158
|
+
devServer: {
|
|
159
|
+
port: 3000,
|
|
160
|
+
host: 'localhost'
|
|
161
|
+
},
|
|
162
|
+
// 解析配置
|
|
163
|
+
resolve: {
|
|
164
|
+
alias: {
|
|
165
|
+
'@components': './src/components',
|
|
166
|
+
'@utils': './src/utils'
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
// 模块规则
|
|
170
|
+
module: {
|
|
171
|
+
rules: []
|
|
172
|
+
},
|
|
173
|
+
// 插件配置
|
|
174
|
+
plugins: []
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## 开发环境要求
|
|
180
|
+
|
|
181
|
+
Node.js >= 14.0.0
|
|
182
|
+
npm >= 6.0.0
|
|
183
|
+
|
|
184
|
+
## 作者
|
|
185
|
+
|
|
186
|
+
yujie.guo - 初始作者
|
|
187
|
+
|
|
188
|
+
## 问题反馈
|
|
189
|
+
|
|
190
|
+
如果你遇到任何问题或有任何建议,请通过以下方式联系我们:
|
|
191
|
+
|
|
192
|
+
提交 Issue: [GitHub Issues](https://gitee.com/fengrengame/qtnode/issues)
|
|
193
|
+
邮件联系: 296963166@qq.com
|
package/dist/package.json
CHANGED