Skip to content

准备工作

字数
295 字
阅读时间
2 分钟

准备开发环境

我们采用 pnpm 作为包管理器。

  • Node.js: >= 22.x
  • pnpm: >= 10.x
  1. 克隆项目仓库
bash
git clone https://github.com/inpageedit/inpageedit-next.git
cd inpageedit-next
  1. 安装依赖
bash
pnpm install
  1. 启动开发服务器
bash
pnpm dev

项目结构

src/
├── components/         # 通用组件
├── plugins/            # 内置插件
├── services/           # 核心服务
├── types/              # TypeScript 类型定义
├── utils/              # 工具函数
├── InPageEdit.ts       # 主类
└── index.ts            # 入口文件

关于 TypeScript & TSX

InPageEdit NEXT 完全使用 TypeScript 编写,并使用了 TSX 语法。

然而这里的 TSX 并非使用了 React,而是基于 jsx-dom 使用 TSX 来编写原生 DOM 元素。

tsx
const  = (
  <
    ={() => {}}
    ={['foo', 'bar']}
    ={{ : 'red' }}
    ={() => {
      .()
      .('clicked')
    }}
  >
    Hello, world!
  </>
)
//      ↓ DOM API
.add('mouseover', () => {
})

关于 IPEModal

InPageEdit NEXT 使用 IPEModal 作为模态框组件。

tsx
.({
  : ['modal'],
  () {
    const  = .
      .({
        : 'MyModal',
        : (<>hello, world</>) as HTMLElement,
      })
      .()
    .()
  },
})

关于 WikiSaikou

InPageEdit NEXT 的 API 服务来自 wiki-saikou 提供的 MediaWiki HTTP API 封装。

tsx
.({
  : ['api'],
  async () {
    const  = await ..()
    .(.)
  },
})

贡献者

The avatar of contributor named as dragon-fish dragon-fish

✏️ InPageEdit NEXT