@qingtian/qtcli 1.0.2 → 1.0.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 +198 -193
- package/dist/README.md +198 -0
- package/dist/favicon.ico +1 -0
- package/dist/index.html +279 -0
- package/dist/manifest.json +31 -0
- package/dist/package.json +1 -2
- package/dist/src/proxys/dev/index.js +1 -1
- package/dist/src/utils/childProcess.js +5 -4
- package/dist/src/webpack/npm/es.js +16 -11
- package/dist/src/webpack/npm/lib.js +18 -12
- package/package.json +2 -3
- package/dist/src/App.js +0 -10
- package/dist/src/index.js +0 -29
package/README.md
CHANGED
|
@@ -1,193 +1,198 @@
|
|
|
1
|
-
# QTCli
|
|
2
|
-
|
|
3
|
-
QTCli 是一款基于 Node.js 的前端工程化底座,提供了完整的项目构建、开发和部署解决方案。
|
|
4
|
-
|
|
5
|
-
## 特性
|
|
6
|
-
|
|
7
|
-
- 🚀 快速创建和初始化项目
|
|
8
|
-
- 📦 内置 Webpack 构建配置
|
|
9
|
-
- 🔥 支持 React + TypeScript 开发
|
|
10
|
-
- 🎨 支持 Less、Sass、CSS Modules
|
|
11
|
-
- 📱 支持移动端适配
|
|
12
|
-
- 🔍 内置 ESLint、StyleLint 代码规范检查
|
|
13
|
-
- 🛠 支持自定义配置和插件扩展
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
npm
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
|
|
1
|
+
# QTCli
|
|
2
|
+
|
|
3
|
+
QTCli 是一款基于 Node.js 的前端工程化底座,提供了完整的项目构建、开发和部署解决方案。
|
|
4
|
+
|
|
5
|
+
## 特性
|
|
6
|
+
|
|
7
|
+
- 🚀 快速创建和初始化项目
|
|
8
|
+
- 📦 内置 Webpack 构建配置
|
|
9
|
+
- 🔥 支持 React + TypeScript 开发
|
|
10
|
+
- 🎨 支持 Less、Sass、CSS Modules
|
|
11
|
+
- 📱 支持移动端适配
|
|
12
|
+
- 🔍 内置 ESLint、StyleLint 代码规范检查
|
|
13
|
+
- 🛠 支持自定义配置和插件扩展
|
|
14
|
+
|
|
15
|
+
## 环境要求
|
|
16
|
+
Node.js >= v22.14.0
|
|
17
|
+
f2elint 4.7.1
|
|
18
|
+
npm 10.9.2
|
|
19
|
+
|
|
20
|
+
## 安装
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g qtcli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 使用方法
|
|
27
|
+
|
|
28
|
+
### 查看帮助
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
qtcli --help
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 初始化项目
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
qtcli init [options]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 开发模式
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
qtcli dev [options]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 构建项目
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
qtcli build [options]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 全局选项
|
|
53
|
+
|
|
54
|
+
-V, --version: 显示版本号
|
|
55
|
+
-D, --debug: 启用调试模式
|
|
56
|
+
-h, --help: 显示帮助信息
|
|
57
|
+
|
|
58
|
+
## 项目结构
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
my-project/
|
|
62
|
+
├── src/ # 源代码目录
|
|
63
|
+
├── public/ # 静态资源目录
|
|
64
|
+
├── dist/ # 构建输出目录
|
|
65
|
+
└── qt.conf.js # 项目配置文件
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 配置说明
|
|
69
|
+
|
|
70
|
+
在项目根目录创建 `qt.conf.js` 文件进行自定义配置:
|
|
71
|
+
|
|
72
|
+
```javascript
|
|
73
|
+
export default {
|
|
74
|
+
// 构建类型
|
|
75
|
+
buildType: 'WEB',
|
|
76
|
+
|
|
77
|
+
// 解决方案名称
|
|
78
|
+
solutionName: 'my-project',
|
|
79
|
+
|
|
80
|
+
// 构建模式
|
|
81
|
+
buildMode: {
|
|
82
|
+
development: 'DEVELOPMENT',
|
|
83
|
+
production: 'PRODUCTION',
|
|
84
|
+
test: 'TEST',
|
|
85
|
+
analyze: 'ANALYZE'
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
// 项目配置
|
|
89
|
+
config: {
|
|
90
|
+
// HTML 注入配置
|
|
91
|
+
htmlInject: {
|
|
92
|
+
head: [
|
|
93
|
+
// meta 标签
|
|
94
|
+
{
|
|
95
|
+
tag: 'meta',
|
|
96
|
+
attrs: {
|
|
97
|
+
charset: 'utf-8'
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
tag: 'meta',
|
|
102
|
+
attrs: {
|
|
103
|
+
name: 'viewport',
|
|
104
|
+
content: 'width=device-width, initial-scale=1'
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
// link 标签
|
|
108
|
+
{
|
|
109
|
+
tag: 'link',
|
|
110
|
+
attrs: {
|
|
111
|
+
rel: 'stylesheet',
|
|
112
|
+
href: '/static/css/global.css'
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
body: [
|
|
117
|
+
// body 中的 script
|
|
118
|
+
{
|
|
119
|
+
tag: 'script',
|
|
120
|
+
attrs: {
|
|
121
|
+
src: '/static/js/init.js'
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
|
|
127
|
+
// JavaScript 代码片段注入配置
|
|
128
|
+
jsInject: {
|
|
129
|
+
head: [
|
|
130
|
+
{
|
|
131
|
+
code: `window.APP_CONFIG = {
|
|
132
|
+
version: '1.0.0',
|
|
133
|
+
env: '${process.env.NODE_ENV}',
|
|
134
|
+
apiUrl: '${process.env.API_URL}'
|
|
135
|
+
};`
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
body: [
|
|
139
|
+
{
|
|
140
|
+
code: `document.addEventListener('DOMContentLoaded', function() {
|
|
141
|
+
console.log('DOM loaded');
|
|
142
|
+
});`
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
// 环境变量配置
|
|
148
|
+
env: {
|
|
149
|
+
development: {
|
|
150
|
+
NODE_ENV: 'development',
|
|
151
|
+
API_URL: 'http://dev-api.example.com'
|
|
152
|
+
},
|
|
153
|
+
production: {
|
|
154
|
+
NODE_ENV: 'production',
|
|
155
|
+
API_URL: 'http://api.example.com'
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
|
|
160
|
+
// webpack 配置
|
|
161
|
+
webpackConfig: {
|
|
162
|
+
// 开发服务器配置
|
|
163
|
+
devServer: {
|
|
164
|
+
port: 3000,
|
|
165
|
+
host: 'localhost'
|
|
166
|
+
},
|
|
167
|
+
// 解析配置
|
|
168
|
+
resolve: {
|
|
169
|
+
alias: {
|
|
170
|
+
'@components': './src/components',
|
|
171
|
+
'@utils': './src/utils'
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
// 模块规则
|
|
175
|
+
module: {
|
|
176
|
+
rules: []
|
|
177
|
+
},
|
|
178
|
+
// 插件配置
|
|
179
|
+
plugins: []
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## 开发环境要求
|
|
185
|
+
|
|
186
|
+
Node.js >= 14.0.0
|
|
187
|
+
npm >= 6.0.0
|
|
188
|
+
|
|
189
|
+
## 作者
|
|
190
|
+
|
|
191
|
+
yujie.guo - 初始作者
|
|
192
|
+
|
|
193
|
+
## 问题反馈
|
|
194
|
+
|
|
195
|
+
如果你遇到任何问题或有任何建议,请通过以下方式联系我们:
|
|
196
|
+
|
|
197
|
+
提交 Issue: [GitHub Issues](https://gitee.com/fengrengame/qtnode/issues)
|
|
198
|
+
邮件联系: 296963166@qq.com
|
package/dist/README.md
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# QTCli
|
|
2
|
+
|
|
3
|
+
QTCli 是一款基于 Node.js 的前端工程化底座,提供了完整的项目构建、开发和部署解决方案。
|
|
4
|
+
|
|
5
|
+
## 特性
|
|
6
|
+
|
|
7
|
+
- 🚀 快速创建和初始化项目
|
|
8
|
+
- 📦 内置 Webpack 构建配置
|
|
9
|
+
- 🔥 支持 React + TypeScript 开发
|
|
10
|
+
- 🎨 支持 Less、Sass、CSS Modules
|
|
11
|
+
- 📱 支持移动端适配
|
|
12
|
+
- 🔍 内置 ESLint、StyleLint 代码规范检查
|
|
13
|
+
- 🛠 支持自定义配置和插件扩展
|
|
14
|
+
|
|
15
|
+
## 环境要求
|
|
16
|
+
Node.js >= v22.14.0
|
|
17
|
+
f2elint 4.7.1
|
|
18
|
+
npm 10.9.2
|
|
19
|
+
|
|
20
|
+
## 安装
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g qtcli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 使用方法
|
|
27
|
+
|
|
28
|
+
### 查看帮助
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
qtcli --help
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 初始化项目
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
qtcli init [options]
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 开发模式
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
qtcli dev [options]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 构建项目
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
qtcli build [options]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 全局选项
|
|
53
|
+
|
|
54
|
+
-V, --version: 显示版本号
|
|
55
|
+
-D, --debug: 启用调试模式
|
|
56
|
+
-h, --help: 显示帮助信息
|
|
57
|
+
|
|
58
|
+
## 项目结构
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
my-project/
|
|
62
|
+
├── src/ # 源代码目录
|
|
63
|
+
├── public/ # 静态资源目录
|
|
64
|
+
├── dist/ # 构建输出目录
|
|
65
|
+
└── qt.conf.js # 项目配置文件
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 配置说明
|
|
69
|
+
|
|
70
|
+
在项目根目录创建 `qt.conf.js` 文件进行自定义配置:
|
|
71
|
+
|
|
72
|
+
```javascript
|
|
73
|
+
export default {
|
|
74
|
+
// 构建类型
|
|
75
|
+
buildType: 'WEB',
|
|
76
|
+
|
|
77
|
+
// 解决方案名称
|
|
78
|
+
solutionName: 'my-project',
|
|
79
|
+
|
|
80
|
+
// 构建模式
|
|
81
|
+
buildMode: {
|
|
82
|
+
development: 'DEVELOPMENT',
|
|
83
|
+
production: 'PRODUCTION',
|
|
84
|
+
test: 'TEST',
|
|
85
|
+
analyze: 'ANALYZE'
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
// 项目配置
|
|
89
|
+
config: {
|
|
90
|
+
// HTML 注入配置
|
|
91
|
+
htmlInject: {
|
|
92
|
+
head: [
|
|
93
|
+
// meta 标签
|
|
94
|
+
{
|
|
95
|
+
tag: 'meta',
|
|
96
|
+
attrs: {
|
|
97
|
+
charset: 'utf-8'
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
tag: 'meta',
|
|
102
|
+
attrs: {
|
|
103
|
+
name: 'viewport',
|
|
104
|
+
content: 'width=device-width, initial-scale=1'
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
// link 标签
|
|
108
|
+
{
|
|
109
|
+
tag: 'link',
|
|
110
|
+
attrs: {
|
|
111
|
+
rel: 'stylesheet',
|
|
112
|
+
href: '/static/css/global.css'
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
body: [
|
|
117
|
+
// body 中的 script
|
|
118
|
+
{
|
|
119
|
+
tag: 'script',
|
|
120
|
+
attrs: {
|
|
121
|
+
src: '/static/js/init.js'
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
|
|
127
|
+
// JavaScript 代码片段注入配置
|
|
128
|
+
jsInject: {
|
|
129
|
+
head: [
|
|
130
|
+
{
|
|
131
|
+
code: `window.APP_CONFIG = {
|
|
132
|
+
version: '1.0.0',
|
|
133
|
+
env: '${process.env.NODE_ENV}',
|
|
134
|
+
apiUrl: '${process.env.API_URL}'
|
|
135
|
+
};`
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
body: [
|
|
139
|
+
{
|
|
140
|
+
code: `document.addEventListener('DOMContentLoaded', function() {
|
|
141
|
+
console.log('DOM loaded');
|
|
142
|
+
});`
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
|
|
147
|
+
// 环境变量配置
|
|
148
|
+
env: {
|
|
149
|
+
development: {
|
|
150
|
+
NODE_ENV: 'development',
|
|
151
|
+
API_URL: 'http://dev-api.example.com'
|
|
152
|
+
},
|
|
153
|
+
production: {
|
|
154
|
+
NODE_ENV: 'production',
|
|
155
|
+
API_URL: 'http://api.example.com'
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
|
|
160
|
+
// webpack 配置
|
|
161
|
+
webpackConfig: {
|
|
162
|
+
// 开发服务器配置
|
|
163
|
+
devServer: {
|
|
164
|
+
port: 3000,
|
|
165
|
+
host: 'localhost'
|
|
166
|
+
},
|
|
167
|
+
// 解析配置
|
|
168
|
+
resolve: {
|
|
169
|
+
alias: {
|
|
170
|
+
'@components': './src/components',
|
|
171
|
+
'@utils': './src/utils'
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
// 模块规则
|
|
175
|
+
module: {
|
|
176
|
+
rules: []
|
|
177
|
+
},
|
|
178
|
+
// 插件配置
|
|
179
|
+
plugins: []
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## 开发环境要求
|
|
185
|
+
|
|
186
|
+
Node.js >= 14.0.0
|
|
187
|
+
npm >= 6.0.0
|
|
188
|
+
|
|
189
|
+
## 作者
|
|
190
|
+
|
|
191
|
+
yujie.guo - 初始作者
|
|
192
|
+
|
|
193
|
+
## 问题反馈
|
|
194
|
+
|
|
195
|
+
如果你遇到任何问题或有任何建议,请通过以下方式联系我们:
|
|
196
|
+
|
|
197
|
+
提交 Issue: [GitHub Issues](https://gitee.com/fengrengame/qtnode/issues)
|
|
198
|
+
邮件联系: 296963166@qq.com
|