mm_statics 1.8.9 → 1.9.1

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 CHANGED
@@ -24,12 +24,12 @@ npm install mm_statics
24
24
 
25
25
  ```javascript
26
26
  const Koa = require('koa');
27
- const static = require('mm_statics');
27
+ const { statics } = require('mm_statics');
28
28
 
29
29
  const app = new Koa();
30
30
 
31
- // 使用默认配置
32
- app.use(static());
31
+ // 使用默认配置(root 为 ./static)
32
+ app.use(statics({ root: './static' }));
33
33
 
34
34
  app.listen(3000, () => {
35
35
  console.log('服务器运行在 http://localhost:3000');
@@ -40,12 +40,12 @@ app.listen(3000, () => {
40
40
 
41
41
  ```javascript
42
42
  const Koa = require('koa');
43
- const { static } = require('mm_statics');
43
+ const { statics } = require('mm_statics');
44
44
 
45
45
  const app = new Koa();
46
46
 
47
47
  // 自定义配置
48
- app.use(static({
48
+ app.use(statics({
49
49
  root: './public', // 静态文件根目录
50
50
  path: '/src', // 需要转换的文件路径前缀
51
51
  files: ['.js', '.vue'], // 需要转换的文件类型
@@ -64,19 +64,21 @@ app.listen(3000);
64
64
 
65
65
  | 配置项 | 类型 | 默认值 | 描述 |
66
66
  |--------|------|--------|------|
67
- | `root` | string | `'./static'` | 静态文件根目录 |
68
- | `path` | string | `'/src'` | 需要转换的文件路径前缀 |
69
- | `files` | array | `['.js', '.vue']` | 需要转换的文件类型 |
67
+ | `root` | string | `''` | 静态文件根目录,为空时由 `dir` 推导,处理器兜底为 `./static` |
68
+ | `path` | string | `''` | 路由根路径,为空时自动生成 `/${app}/` |
69
+ | `files` | array | `['.js', '.vue', '.html']` | 需要转换的文件类型 |
70
70
  | `convert_amd` | boolean | `true` | 是否启用ES6到AMD转换 |
71
71
  | `compile_vue` | boolean | `true` | 是否编译Vue单文件组件 |
72
- | `max_age` | number | `7200` | 缓存时间(秒) |
72
+ | `compile_md` | boolean | `true` | 是否将Markdown转换为HTML |
73
+ | `max_age` | number | `600` | 缓存时间(秒) |
73
74
  | `immutable` | boolean | `true` | 是否启用不可变缓存 |
75
+ | `cache` | boolean | `true` | 是否启用服务端缓存 |
74
76
  | `hidden` | boolean | `false` | 是否支持隐藏文件 |
75
77
  | `index` | string | `'index.html'` | 默认索引文件 |
76
- | `format` | boolean | `false` | 是否格式化路径 |
78
+ | `format` | boolean | `true` | 是否格式化转换后的代码 |
77
79
  | `extensions` | boolean | `false` | 是否自动添加扩展名 |
78
- | `brotli` | boolean | `false` | 是否支持brotli压缩 |
79
- | `gzip` | boolean | `false` | 是否支持gzip压缩 |
80
+ | `brotli` | boolean | `true` | 是否支持brotli压缩 |
81
+ | `gzip` | boolean | `true` | 是否支持gzip压缩 |
80
82
 
81
83
  ## 使用场景
82
84
 
@@ -84,7 +86,7 @@ app.listen(3000);
84
86
 
85
87
  ```javascript
86
88
  // 禁用AMD转换,仅提供静态文件服务
87
- app.use(static({
89
+ app.use(statics({
88
90
  convert_amd: false,
89
91
  compile_vue: false,
90
92
  root: './public'
@@ -95,7 +97,7 @@ app.use(static({
95
97
 
96
98
  ```javascript
97
99
  // 启用AMD转换,自动转换ES6模块
98
- app.use(static({
100
+ app.use(statics({
99
101
  convert_amd: true,
100
102
  compile_vue: false,
101
103
  root: './src',
@@ -108,7 +110,7 @@ app.use(static({
108
110
 
109
111
  ```javascript
110
112
  // 启用AMD转换,将Vue组件转换为AMD格式
111
- app.use(static({
113
+ app.use(statics({
112
114
  convert_amd: true,
113
115
  compile_vue: true,
114
116
  root: './components',
@@ -121,7 +123,7 @@ app.use(static({
121
123
 
122
124
  ```javascript
123
125
  // 禁用AMD转换,但启用Vue编译,生成可直接使用的组件
124
- app.use(static({
126
+ app.use(statics({
125
127
  convert_amd: false,
126
128
  compile_vue: true,
127
129
  root: './components',
@@ -216,15 +218,12 @@ new Static(config)
216
218
 
217
219
  #### 方法
218
220
 
219
- - `setConfig(config)` - 更新配置
220
- - `main(ctx, next)` - 主要处理逻辑(包含AMD转换和Vue编译)
221
- - `run(ctx, next)` - 仅静态文件服务
222
- - `_shouldProcess(ctx)` - 判断是否需要处理请求
223
- - `_convertible(path)` - 判断是否需要转换
224
- - `_toAmd(ctx, path)` - 执行ES6到AMD转换
225
- - `_handleVueFile(vue_content)` - 处理Vue文件转换
226
- - `_convertToDirectVueComponent(script_content, vue_content)` - Vue文件直接转换
227
- - `_send(ctx, path)` - 发送静态文件
221
+ - `main(ctx, next)` - 主处理逻辑,作为中间件使用(路径取自 `ctx.path`)
222
+ - `main(ctx, file_path)` - 直接发送指定文件
223
+ - `run(ctx, next)` - 中间件方式处理静态文件
224
+ - `send(ctx, file_path, config)` - 直接发送指定文件
225
+ - `_delCache(url)` - 删除指定请求路径的服务端缓存
226
+ - `init()` / `start()` / `stop()` - 生命周期方法(继承自 `mm_mod`)
228
227
 
229
228
  ## 缓存策略
230
229
 
@@ -269,14 +268,14 @@ npm test
269
268
  npx eslint index.js
270
269
  ```
271
270
 
272
- ### 测试Vue转换功能
271
+ ### 测试与示例
273
272
 
274
273
  ```bash
275
- # 运行Vue转换测试
276
- node test_vue_direct_conversion.js
274
+ # 运行自动化测试
275
+ npm test
277
276
 
278
- # 调试Vue转换
279
- node debug_vue_conversion.js
277
+ # 运行使用示例
278
+ node example/index.js
280
279
  ```
281
280
 
282
281
  ### 贡献代码
@@ -292,7 +291,8 @@ node debug_vue_conversion.js
292
291
  - **@vue/compiler-sfc**: Vue单文件组件解析器
293
292
  - **mm_es6_to_amd**: ES6到AMD转换器
294
293
  - **mm_cache**: 缓存模块
295
- - **koa-send**: Koa静态文件发送
294
+ - **mm_corejs**: 核心管理基类
295
+ - **mm_helper**: 静态处理器依赖的字符串/路径原型扩展
296
296
 
297
297
  ## 许可证
298
298