update site
This commit is contained in:
parent
673331dae7
commit
98615e63b9
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"cn.css": "static/css/cn.fb9dfd08.css",
|
||||
"cn.css.map": "static/css/cn.fb9dfd08.css.map",
|
||||
"cn.js": "static/js/cn.d515b66e.js",
|
||||
"cn.js.map": "static/js/cn.d515b66e.js.map",
|
||||
"cn.js": "static/js/cn.09bb0e17.js",
|
||||
"cn.js.map": "static/js/cn.09bb0e17.js.map",
|
||||
"index.css": "static/css/index.fb9dfd08.css",
|
||||
"index.css.map": "static/css/index.fb9dfd08.css.map",
|
||||
"index.js": "static/js/index.90a604f6.js",
|
||||
"index.js.map": "static/js/index.90a604f6.js.map",
|
||||
"index.js": "static/js/index.ef615b88.js",
|
||||
"index.js.map": "static/js/index.ef615b88.js.map",
|
||||
"static/js/0.ca615135.chunk.js": "static/js/0.ca615135.chunk.js",
|
||||
"static/js/0.ca615135.chunk.js.map": "static/js/0.ca615135.chunk.js.map",
|
||||
"static/js/1.401a75f3.chunk.js": "static/js/1.401a75f3.chunk.js",
|
||||
|
@ -59,8 +59,8 @@
|
|||
"static/js/6.edc5aa44.chunk.js.map": "static/js/6.edc5aa44.chunk.js.map",
|
||||
"static/js/7.fe79c68a.chunk.js": "static/js/7.fe79c68a.chunk.js",
|
||||
"static/js/7.fe79c68a.chunk.js.map": "static/js/7.fe79c68a.chunk.js.map",
|
||||
"static/js/8.b5a7c872.chunk.js": "static/js/8.b5a7c872.chunk.js",
|
||||
"static/js/8.b5a7c872.chunk.js.map": "static/js/8.b5a7c872.chunk.js.map",
|
||||
"static/js/8.b67630cb.chunk.js": "static/js/8.b67630cb.chunk.js",
|
||||
"static/js/8.b67630cb.chunk.js.map": "static/js/8.b67630cb.chunk.js.map",
|
||||
"static/js/9.13c87bcd.chunk.js": "static/js/9.13c87bcd.chunk.js",
|
||||
"static/js/9.13c87bcd.chunk.js.map": "static/js/9.13c87bcd.chunk.js.map",
|
||||
"static/media/omi-logo2019.svg": "static/media/omi-logo2019.923166c3.svg"
|
||||
|
|
|
@ -1 +1 @@
|
|||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="shortcut icon" href="./favicon.ico"><link rel="stylesheet" href="./highlight/prism.css"><style>*{-webkit-tap-highlight-color:rgba(255,255,255,0);-moz-user-focus:none}</style><title>Omi - Next Front End Framework</title><link href="./static/css/cn.fb9dfd08.css" rel="stylesheet"></head><body><script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script><script src="./highlight/prism.js"></script><script src="./js/remarkable.min.js"></script><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="./static/js/cn.d515b66e.js"></script></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="shortcut icon" href="./favicon.ico"><link rel="stylesheet" href="./highlight/prism.css"><style>*{-webkit-tap-highlight-color:rgba(255,255,255,0);-moz-user-focus:none}</style><title>Omi - Next Front End Framework</title><link href="./static/css/cn.fb9dfd08.css" rel="stylesheet"></head><body><script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script><script src="./highlight/prism.js"></script><script src="./js/remarkable.min.js"></script><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="./static/js/cn.09bb0e17.js"></script></body></html>
|
|
@ -1 +1 @@
|
|||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="shortcut icon" href="./favicon.ico"><link rel="stylesheet" href="./highlight/prism.css"><style>*{-webkit-tap-highlight-color:rgba(255,255,255,0);-moz-user-focus:none}</style><title>Omi - Next Front End Framework</title><link href="./static/css/index.fb9dfd08.css" rel="stylesheet"></head><body><script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script><script src="./highlight/prism.js"></script><script src="./js/remarkable.min.js"></script><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="./static/js/index.90a604f6.js"></script></body></html>
|
||||
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="shortcut icon" href="./favicon.ico"><link rel="stylesheet" href="./highlight/prism.css"><style>*{-webkit-tap-highlight-color:rgba(255,255,255,0);-moz-user-focus:none}</style><title>Omi - Next Front End Framework</title><link href="./static/css/index.fb9dfd08.css" rel="stylesheet"></head><body><script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script><script src="./highlight/prism.js"></script><script src="./js/remarkable.min.js"></script><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="./static/js/index.ef615b88.js"></script></body></html>
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +0,0 @@
|
|||
webpackJsonp([8],{58:function(n,t){n.exports='## mp-jsx\n\n> \u539f\u751f\u5c0f\u7a0b\u5e8f\u63d2\u4e0a JSX \u7684\u7fc5\u8180\n\nmp-jsx \u662f\u4ec0\u4e48\uff1f\u4e3a\u4ec0\u4e48\u9700\u8981 mp-jsx\uff1f\u5148\u5217\u4e3e\u51e0\u4e2a\u73b0\u72b6:\n\n* \u76ee\u524d\u5c0f\u7a0b\u5e8f\u5f00\u53d1\u4f7f\u7528\u6700\u591a\u7684\u6280\u672f\u4f9d\u7136\u662f\u539f\u751f\u5c0f\u7a0b\u5e8f\n* \u539f\u751f\u5c0f\u7a0b\u5e8f\u7684 API \u5728\u4e0d\u65ad\u5b8c\u5584\u548c\u8fdb\u5316\u4e2d\n* JSX \u662f\u8868\u8fbe\u80fd\u529b\u548c\u7f16\u7a0b\u4f53\u9a8c\u6700\u597d\u7684 UI \u8868\u8fbe\u5f0f\n* JSX \u53ef\u4ee5\u8868\u8fbe\u4e00\u5207\u60f3\u8868\u8fbe\u7684 UI \u7ed3\u6784\u4e5f\u5c31\u80fd\u591f\u63cf\u8ff0\u4efb\u610f WXML\n\n\u6240\u4ee5\uff0c\u5c31\u6709\u4e86 mp-jsx\u3002 \u8ba9\u5f00\u53d1\u8005\u76f4\u63a5\u5728\u539f\u751f\u5c0f\u7a0b\u5e8f\u4f7f\u7528 JSX \u5199 WXML\uff0c\u5b9e\u65f6\u7f16\u8bd1\uff0c\u5b9e\u65f6\u9884\u89c8\u3002\n\n\n\n- JSX \u4ee3\u66ff WXML \u4e66\u5199\u7ed3\u6784\uff0c\u7cbe\u7b80\u9ad8\u6548\n- \u5bf9\u539f\u751f\u5c0f\u7a0b\u5e8f\u96f6\u5165\u4fb5\n- \u652f\u6301 JS \u548c TS\n- \u5b9e\u65f6\u7f16\u8bd1\uff0c\u5b9e\u65f6\u9884\u89c8\n- \u8f93\u51fa WXML \u81ea\u52a8\u7f8e\u5316\n\n## \u6548\u679c\u9884\u89c8\n\n\n\n## \u7acb\u5373\u5f00\u59cb\n\n```bash\n$ npm i omi-cli -g \n$ omi init-jsx my-app \n$ cd my-app \n$ npm start \n```\n\n\u63a5\u7740\u628a\u5c0f\u7a0b\u5e8f\u76ee\u5f55\u8bbe\u7f6e\u4e3a my-app \u76ee\u5f55\u4fbf\u53ef\u4ee5\u6109\u5feb\u5730\u5f00\u59cb\u5f00\u53d1\u8c03\u8bd5\u4e86\uff01 \n\n> `npx omi-cli init-jsx my-app` \u4e5f\u652f\u6301(npm v5.2.0+)\n\n\u751f\u6210\u7684\u76ee\u5f55\u548c\u5b98\u65b9\u7684\u6a21\u677f\u4e00\u81f4\uff0c\u53ea\u4e0d\u8fc7\u591a\u4e86 JSX \u6587\u4ef6\uff0c\u53ea\u9700\u8981\u4fee\u6539 JSX \u6587\u4ef6\u5c31\u4f1a\u5b9e\u65f6\u4fee\u6539 WXML\u3002\n\n\u4e5f\u652f\u6301 typescript:\n\n```bash \n$ omi init-jsx-ts my-app \n```\n\n\u5176\u4ed6\u547d\u4ee4\u4e00\u6837\u3002\n\n> `npx omi-cli init-jsx-ts my-app` \u4e5f\u652f\u6301(npm v5.2.0+)\n\n## JSX vs WXML\n\n\u8fd9\u91cc\u662f\u4e00\u4e2a\u771f\u5b9e\u7684\u6848\u4f8b\u8bf4\u660e JSX \u7684\u7cbe\u5de7\u9ad8\u6548\u7684\u8868\u8fbe\u80fd\u529b:\n\n\u7f16\u8bd1\u524d\u7684 JSX:\n\n```jsx\n<view class=\'pre language-jsx\'>\n <view class=\'code\'>\n {tks.map(tk => {\n return tk.type === \'tag\' ? <text class={\'token \' + tk.type}>{\n tk.content.map(stk => {\n return stk.deep ? stk.content.map(sstk => {\n return <text class={\'token \' + sstk.type}>{sstk.content || sstk}</text>\n }) : <text class={\'token \' + stk.type}>{stk.content || stk}</text>\n })}</text> : <text class={\'token \' + tk.type}>{tk.content || tk}</text>\n })}\n </view>\n</view>\n```\n\n\u7f16\u8bd1\u540e WXML:\n\n```jsx\n<view class="pre language-jsx">\n <view class="code">\n <block wx:for="{{tks}}" wx:for-item="tk" wx:for-index="_anonIdx4">\n <block wx:if="{{tk.type === \'tag\'}}"\n ><text class="{{\'token \' + tk.type}}"\n ><block\n wx:for="{{tk.content}}"\n wx:for-item="stk"\n wx:for-index="_anonIdx2"\n ><block wx:if="{{stk.deep}}"\n ><text\n class="{{\'token \' + sstk.type}}"\n wx:for="{{stk.content}}"\n wx:for-item="sstk"\n wx:for-index="_anonIdx3"\n >{{sstk.content || sstk}}</text\n >\n </block>\n <block wx:else\n ><text class="{{\'token \' + stk.type}}"\n >{{stk.content || stk}}</text\n >\n </block>\n </block>\n </text>\n </block>\n <block wx:else\n ><text class="{{\'token \' + tk.type}}">{{tk.content || tk}}</text>\n </block>\n </block>\n </view>\n</view>\n```\n\n## \u8001\u9879\u76ee\u4f7f\u7528 mp-jsx\n\n\u62f7\u8d1d\u4ee5\u4e0b\u6587\u4ef6\u5230\u5c0f\u7a0b\u5e8f\u6839\u76ee\u5f55:\n\n* _scripts \u76ee\u5f55\u6240\u6709\u6587\u4ef6\n* package.json\n* gulpfile.js\n\n\u8bbe\u7f6e project.config.json \u91cc\u7684 packOptions.ignore \u5ffd\u7565\u4ee5\u4e0a\u7684\u6587\u4ef6\uff0c\u7136\u540e:\n\n``` bash\n$ npm install\n$ npm start\n```\n\n\u6b22\u8fce\u4f7f\u7528 mp-jsx \u5927\u5e45\u63d0\u9ad8\u5f00\u53d1\u6548\u7387\uff0cHave fun!\n'}});
|
||||
//# sourceMappingURL=8.b5a7c872.chunk.js.map
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -24,7 +24,7 @@ const config = {
|
|||
title: '其他',
|
||||
list: [
|
||||
{ name: '生态与例子', md: 'other' },
|
||||
{ name: 'MP-JSX', md: 'mp-jsx' },
|
||||
{ name: 'Mps', md: 'mps' },
|
||||
{ name: 'Omip 多端开发', md: 'omip' },
|
||||
{ name: '服务端渲染', md: 'ssr' },
|
||||
{ name: '路由', md: 'router' },
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
## mp-jsx
|
||||
## mps
|
||||
|
||||
> 原生小程序插上 JSX 的翅膀
|
||||
> 原生小程序插上 JSX 和 Less 的翅膀,**mp + sweet**
|
||||
|
||||
mp-jsx 是什么?为什么需要 mp-jsx?先列举几个现状:
|
||||
mps 是什么?为什么需要 mps?先列举几个现状:
|
||||
|
||||
* 目前小程序开发使用最多的技术依然是原生小程序
|
||||
* 原生小程序的 API 在不断完善和进化中
|
||||
* JSX 是表达能力和编程体验最好的 UI 表达式
|
||||
* JSX 可以表达一切想表达的 UI 结构也就能够描述任意 WXML
|
||||
|
||||
所以,就有了 mp-jsx。 让开发者直接在原生小程序使用 JSX 写 WXML,实时编译,实时预览。
|
||||
所以,就有了 mps,**mp + sweet**。 让开发者直接在原生小程序使用 JSX 写 WXML,用 Less 写 WXSS,实时编译,实时预览。
|
||||
|
||||

|
||||

|
||||
|
||||
- JSX 代替 WXML 书写结构,精简高效
|
||||
- 对原生小程序零入侵
|
||||
|
@ -21,32 +21,32 @@ mp-jsx 是什么?为什么需要 mp-jsx?先列举几个现状:
|
|||
|
||||
## 效果预览
|
||||
|
||||

|
||||

|
||||
|
||||
## 立即开始
|
||||
|
||||
```bash
|
||||
$ npm i omi-cli -g
|
||||
$ omi init-jsx my-app
|
||||
$ omi init-mps my-app
|
||||
$ cd my-app
|
||||
$ npm start
|
||||
```
|
||||
|
||||
接着把小程序目录设置为 my-app 目录便可以愉快地开始开发调试了!
|
||||
|
||||
> `npx omi-cli init-jsx my-app` 也支持(npm v5.2.0+)
|
||||
> `npx omi-cli init-mps my-app` 也支持(npm v5.2.0+)
|
||||
|
||||
生成的目录和官方的模板一致,只不过多了 JSX 文件,只需要修改 JSX 文件就会实时修改 WXML。
|
||||
|
||||
也支持 typescript:
|
||||
|
||||
```bash
|
||||
$ omi init-jsx-ts my-app
|
||||
$ omi init-mps-ts my-app
|
||||
```
|
||||
|
||||
其他命令一样。
|
||||
|
||||
> `npx omi-cli init-jsx-ts my-app` 也支持(npm v5.2.0+)
|
||||
> `npx omi-cli init-mps-ts my-app` 也支持(npm v5.2.0+)
|
||||
|
||||
## JSX vs WXML
|
||||
|
||||
|
@ -106,7 +106,7 @@ $ omi init-jsx-ts my-app
|
|||
</view>
|
||||
```
|
||||
|
||||
## 老项目使用 mp-jsx
|
||||
## 老项目使用 mps
|
||||
|
||||
拷贝以下文件到小程序根目录:
|
||||
|
||||
|
@ -121,4 +121,12 @@ $ npm install
|
|||
$ npm start
|
||||
```
|
||||
|
||||
欢迎使用 mp-jsx 大幅提高开发效率,Have fun!
|
||||
## mps 约定
|
||||
|
||||
公共的 less 文件必须放在 common-less 目录,@import 使用的时候不需要写路径。
|
||||
|
||||
## 推荐搭配
|
||||
|
||||
既然用了原生小程序的方案,所有可以轻松使用 mps + [omix](https://github.com/Tencent/omi/tree/master/packages/omix) 搭配一起使用。
|
||||
|
||||
欢迎使用 mps 大幅提高开发效率,Have fun!
|
Loading…
Reference in New Issue