wkitd/Readme.md

109 lines
2.6 KiB
Markdown

## Wkitd
> 基于`wkit`封装的一个应用框架, 提供`store`和`router`等基础服务。
![downloads](https://img.shields.io/npm/dt/wkitd.svg)
![version](https://img.shields.io/npm/v/wkitd.svg)
### 开发文档
[开发文档](https://git.wkit.fun/bytedo/wkitd/wiki)
### 我们的特色
- 提供迷你的单页应用开发环境
- 无需`node.js`编译, 即写即用。
- 本项目适合开发一些快速迭代简单页面、app内嵌的`webview`页面(无须搭建复杂的前端开发环境)
### 一些注意事项
- 路由不支持嵌套, 即`<router-view></router-view>`只能出现`1`次。
- `$router`对象, 只注入到使用`wkit`创建的组件, 其他地方可以使用`getRouter()`获取`$router`对象。
- 所有路由页面和组件, 均可使用`getCurrentPage()`获取当前的页面的信息; 也可以用`$route`或`$router.route`获取。
- `$store`对象, 只注入到使用`wkit`创建的组件, 其他组件可使用`getStore()`获取。
- `watch()`方法, 可用于监听`$store`和`$route`的变化。
### 示例
app.js
```js
// alias wkitd='//jscdn.ink/wkitd/latest/index.js'
import { css, html, createApp, createRouter, createWebHistory, createStore } from 'wkitd'
const store = createStore({
foo: 123,
bar: 456
})
import './views/home.js' // <wc-home />
const router = createRouter({
history: createWebHistory(),
routes: [
{
path: '/',
name: 'wc-home' // element tagname !importent
},
{
path: '/about',
name: 'wc-about',
component: () => import('./views/about.js')
}
]
})
createApp({
data:{},
methods: {},
render(){
return html`
<div class="app">
<router-view></router-view>
</div>`
}
})
.use(store)
.use(router)
.mount()
```
index.html
```html
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<title>wkitd example</title>
<meta name="keywords" content="">
<meta name="description" content="">
<link href="" rel="stylesheet">
<script type="importmap">
{
"imports":{
"es.shim":"//jscdn.ink/es.shim/latest/index.js",
"wkit":"//jscdn.ink/wkit/latest/index.js",
"wkitd":"//jscdn.ink/wkitd/latest/index.js",
"fetch":"//jscdn.ink/@bytedo/fetch/latest/next.js",
"@bd/ui/":"//jscdn.ink/@bd/ui/latest/"
}
}
</script>
<script type="module" src="/app.js"></script>
</head>
<body>
<wc-app></wc-app>
</body>
</html>
```
基于`wkit`封装的一个应用框架, 提供`store`和`router`等基础服务。
JavaScript 100%