midwayjs 组件配置静态资源

midwayjs组件实际上是支持应用的所有特性的,但是我们可能希望开发的组件也包含静态资源,这样资源直接打包在npm包中,用户安装之后就能使用了,以下是一些说明

关键点

  • 因为midwayjs 静态资源的支持是基于static_file 扩展的,就需要安装扩展以及配置相关的路径, 为了方便并不推荐直接配置default,而是基于业务单元明确命名,如下
import {join} from 'path';
export  default {
  staticFile: {
    dirs: {
      platform: {
        prefix: '/platform',
        dir: join(__dirname, '../../platform'),
        alias: {
          '/': 'index.html',
        },
      },
    }
  }
}
  • 如果使用默认脚手架的配置是不行的,最好还是按照标准应用的配置编写,如上(目前的测试)
  • alias 如果配置了多个似乎不能生效了(可能是bug,待确定)
  • 开发的组件在打包的时候应该把静态资源明确到npm 包中,如下(pacakge.json 中需要添加的)
"files": [
  "dist/**/*.js",
  "dist/**/*.d.ts",
  "index.d.ts",
  "platform/**/*"
],

说明

以上是一些简单的实践总结,部分可能是bug,也可能是使用不太对,还需要进一步确定

参考资料

https://www.npmjs.com/package/koa-static-cache

https://github.com/midwayjs/midway/blob/v4-next/packages/static-file/src/middleware/static.middleware.ts

https://midwayjs.org/docs/extensions/static_file

posted on 2025-11-18 08:00  荣锋亮  阅读(0)  评论(0)    收藏  举报

导航