diff --git a/.eslintignore b/.eslintignore
index a74b14fcd..03522465e 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -7,7 +7,7 @@ packages/hippy-vue/types
packages/hippy-debug-server/webpack-dev-server/client
packages/hippy-debug-server/webpack-dev-server/lib
packages/hippy-vue-loader/lib
-framework/js/packages/hippy-vue/types
-framework/js/packages/hippy-debug-server/webpack-dev-server/client
-framework/js/packages/hippy-debug-server/webpack-dev-server/lib
-framework/js/packages/hippy-vue-loader/lib
+driver/js/packages/hippy-vue/types
+driver/js/packages/hippy-debug-server/webpack-dev-server/client
+driver/js/packages/hippy-debug-server/webpack-dev-server/lib
+driver/js/packages/hippy-vue-loader/lib
diff --git a/.eslintrc.js b/.eslintrc.js
index 3b0dae20e..c04fe0f14 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -141,7 +141,7 @@ module.exports = {
['core', resolveVue('core')],
['shared', resolveVue('shared')],
['sfc', resolveVue('sfc')],
- ['he', path.resolve(__dirname, './framework/js/packages/hippy-vue/src/util/entity-decoder')],
+ ['he', path.resolve(__dirname, './driver/js/packages/hippy-vue/src/util/entity-decoder')],
],
},
},
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index f8b08e247..0198b4846 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -34,21 +34,20 @@
/dom/ @churchill-zhang @ilikethese
-/framework/js/core/ @churchill-zhang @zoomchan-cxj
-/framework/js/core/js/ @zoomchan-cxj
+/driver/js/core/ @churchill-zhang @zoomchan-cxj
+/driver/js/core/js/ @zoomchan-cxj
-/framework/js/android/ @siguangli @churchill-zhang
-/framework/js/ios/ @ozonelmy @churchill-zhang
-/ios/ @ozonelmy @churchill-zhang
+/driver/js/android/ @siguangli @churchill-zhang
+/driver/js/ios/ @ozonelmy @churchill-zhang
-/framework/js/examples/android-demo/ @siguangli
-/framework/js/examples/android-demo/res/ @zoomchan-cxj
-/framework/js/examples/ios-demo/ @ozonelmy
-/framework/js/examples/ios-demo/res/ @zoomchan-cxj
-/framework/js/examples/hippy-react-demo/ @zoomchan-cxj
-/framework/js/examples/hippy-vue-demo/ @zoomchan-cxj
+/driver/js/examples/android-demo/ @siguangli
+/driver/js/examples/android-demo/res/ @zoomchan-cxj
+/driver/js/examples/ios-demo/ @ozonelmy
+/driver/js/examples/ios-demo/res/ @zoomchan-cxj
+/driver/js/examples/hippy-react-demo/ @zoomchan-cxj
+/driver/js/examples/hippy-vue-demo/ @zoomchan-cxj
-/framework/js/packages/ @zoomchan-cxj
+/driver/js/packages/ @zoomchan-cxj
/gradle/ @siguangli @medns
/layout/ @ilikethese
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 52b17d325..99ef3c2df 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -3,9 +3,9 @@ name: '[front-end] check js code'
on:
pull_request:
paths:
- - 'framework/js/packages/**'
- - 'framework/js/examples/hippy-*-demo/**'
- - 'framework/js/core/js/**/*.js'
+ - 'driver/js/packages/**'
+ - 'driver/js/examples/hippy-*-demo/**'
+ - 'driver/js/core/js/**/*.js'
- 'package*.json'
- 'scripts/**/*.js'
branches:
diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml
index 6d38c3f48..b6c2b13d1 100644
--- a/.github/workflows/ios.yml
+++ b/.github/workflows/ios.yml
@@ -3,7 +3,7 @@ name: '[iOS] build iOS native example'
on:
pull_request:
paths:
- - 'framework/js/ios/**'
+ - 'driver/js/ios/**'
- 'ios/**'
branches:
# Pull request events to main branch
@@ -27,4 +27,4 @@ jobs:
# https://github.com/actions/virtual-environments/issues/4180
# Xcode_13 will be selected on October, 18, so we need to set to xcode13 manually before that day.
sudo xcode-select --switch '/Applications/Xcode_13.0.app/'
- pushd framework/js/examples/ios-demo && xcodebuild build -destination 'name=iPhone 11' -scheme 'HippyDemo' && popd
+ pushd driver/js/examples/ios-demo && xcodebuild build -destination 'name=iPhone 11' -scheme 'HippyDemo' && popd
diff --git a/.nycrc b/.nycrc
index e8807d962..e27872019 100644
--- a/.nycrc
+++ b/.nycrc
@@ -1,9 +1,9 @@
{
"include": [
- "framework/js/packages/**/*.js"
+ "driver/js/packages/**/*.js"
],
"exclude": [
- "framework/js/packages/**/__tests__/*.test.js"
+ "driver/js/packages/**/__tests__/*.test.js"
],
"reporter": [
"lcov",
diff --git a/README.md b/README.md
index f115927b4..39874ac1d 100644
--- a/README.md
+++ b/README.md
@@ -59,9 +59,9 @@ For iOS, we recommend to use iOS simulator when first try. However, you can chan
> `npm run build`: Build each front-end sdk package.
2. Choose a demo to build with `npm run buildexample [hippy-react-demo|hippy-vue-demo]` at root directory.
-3. Start the Xcode and build the iOS app with `open framework/js/examples/ios-demo/HippyDemo.xcodeproj`.
+3. Start the Xcode and build the iOS app with `open driver/js/examples/ios-demo/HippyDemo.xcodeproj`.
-> If `Step 2` throw error, you can `cd` to `framework/js/examples` hippy-react-demo or hippy-vue-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first.
+> If `Step 2` throw error, you can `cd` to `driver/js/examples` hippy-react-demo or hippy-vue-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first.
>
> More details for [iOS SDK integration](https://hippyjs.org/#/ios/integration?id=ios-%e9%9b%86%e6%88%90).
@@ -82,11 +82,11 @@ Before build the android app, please make sure the SDK and NDK is installed, And
> `npm run build`: Build each front-end sdk package.
2. Choose a demo to build with `npm run buildexample [hippy-react-demo|hippy-vue-demo]` at root directory.
-3. Open the `framework/js/examples/android-demo` with Android Studio.
+3. Open the `driver/js/examples/android-demo` with Android Studio.
4. Connect Android phone with USB cable and make sure USB debugging mode is enabled(Run `adb devices` on the computer terminal to check cellphone connection status).
5. Open the project with Android Studio, run and install the apk.
-> If `Step 2` throw error, you can `cd` to `framework/js/examples` hippy-react-demo or hippy-vue-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first.
+> If `Step 2` throw error, you can `cd` to `driver/js/examples` hippy-react-demo or hippy-vue-demo, and run `npm install --legacy-peer-deps` to install demo dependencies first.
>
> If you encounter the issue of `No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android`, here is the [solution](https://github.com/google/filament/issues/15#issuecomment-415423557).
>
@@ -99,9 +99,9 @@ Before build the android app, please make sure the SDK and NDK is installed, And
3. Run `npm run debugexample [hippy-react-demo|hippy-vue-demo] debug` at root directory.
4. Run `npm run debugexample [hippy-react-demo|hippy-vue-demo] dev` at root directory.
-> Or you can `cd` to `framework/js/examples/hippy-react-demo` or `framework/js/examples/hippy-vue-demo` directory to run `npm run hippy:debug` and `npm run hippy:dev` instead.
+> Or you can `cd` to `driver/js/examples/hippy-react-demo` or `driver/js/examples/hippy-vue-demo` directory to run `npm run hippy:debug` and `npm run hippy:dev` instead.
>
-> On example debug mode, npm packages such as @hippy/react, @hippy/vue are linked to `framework/js/packages` > `[different package]` > `dist`(not node_modules), so if you have changed js package source code and want to make it take effect in target example, please call `npm run build` at root directory again.
+> On example debug mode, npm packages such as @hippy/react, @hippy/vue are linked to `driver/js/packages` > `[different package]` > `dist`(not node_modules), so if you have changed js package source code and want to make it take effect in target example, please call `npm run build` at root directory again.
>
> More details for debugging can be read in [Hippy Debug Document](https://hippyjs.org/#/guide/debug).
diff --git a/README.zh_CN.md b/README.zh_CN.md
index a1684b1de..e81cf336a 100644
--- a/README.zh_CN.md
+++ b/README.zh_CN.md
@@ -60,9 +60,9 @@ Windows 用户者需要以下软件:
> `npm run build`:编译每一个 JS SDK 包。
2. 选择一个前端范例项目来进行编译,在项目根目录运行 `npm run buildexample [hippy-react-demo|hippy-vue-demo]`。
-3. 启动 Xcode 并且开始编译终端 App:`open framework/js/examples/ios-demo/HippyDemo.xcodeproj`。
+3. 启动 Xcode 并且开始编译终端 App:`open driver/js/examples/ios-demo/HippyDemo.xcodeproj`。
-> 如果步骤2出现错误,可以先 `cd` 到 `framework/js/examples` hippy-react-demo 或者 hippy-vue-demo 目录下,执行 `npm install --legacy-peer-deps`,提前将 demo 的 NPM 包依赖先安装好。
+> 如果步骤2出现错误,可以先 `cd` 到 `driver/js/examples` hippy-react-demo 或者 hippy-vue-demo 目录下,执行 `npm install --legacy-peer-deps`,提前将 demo 的 NPM 包依赖先安装好。
>
> 更多信息请参考 [iOS SDK 集成](https://hippyjs.org/#/ios/integration?id=ios-%e9%9b%86%e6%88%90)。
@@ -81,7 +81,7 @@ Windows 用户者需要以下软件:
>
> `npm run build`:编译每一个 JS SDK 包。
2. 选择一个前端范例项目来进行编译,在项目根目录运行 `npm run buildexample [hippy-react-demo|hippy-vue-demo]`。
-3. 用 Android Studio 来打开终端范例工程 `framework/js/examples`。
+3. 用 Android Studio 来打开终端范例工程 `driver/js/examples`。
4. 用 USB 数据线插上你的 Android 手机,需要确认手机已经打开 USB 调试模式(可通过在电脑 Terminal 执行 `adb devices` 判断手机是否已经连上了电脑)。
5. 运行工程,并安装 APK。
@@ -98,9 +98,9 @@ Windows 用户者需要以下软件:
3. 根目录执行 `npm run debugexample [hippy-react-demo|hippy-vue-demo] debug`。
4. 根目录执行 `npm run debugexample [hippy-react-demo|hippy-vue-demo] dev`。
-> 你也可以 `cd` 到 `framework/js/examples/hippy-react-demo` 或者 `framework/js/examples//hippy-vue-demo` 目录去分别执行 `npm run hippy:debug` 和 `npm run hippy:dev`。
+> 你也可以 `cd` 到 `driver/js/examples/hippy-react-demo` 或者 `driver/js/examples//hippy-vue-demo` 目录去分别执行 `npm run hippy:debug` 和 `npm run hippy:dev`。
>
-> 在 example 调试模式下,@hippy/react、@hippy/vue 等 npm 模块会直接链接到 `framework/js/packages` > `[different package]` > `dist` 目录下面的 js 文件(非 node_modules),所以如果你修改了 packages 下的 JS 源代码并且想让其在 example 中生效,请重新在根目录执行 `npm run build`。
+> 在 example 调试模式下,@hippy/react、@hippy/vue 等 npm 模块会直接链接到 `driver/js/packages` > `[different package]` > `dist` 目录下面的 js 文件(非 node_modules),所以如果你修改了 packages 下的 JS 源代码并且想让其在 example 中生效,请重新在根目录执行 `npm run build`。
>
> 更多关于调试的说明请浏览 [Hippy Debug Document](https://hippyjs.org/#/guide/debug)。
diff --git a/ava.config.js b/ava.config.js
index 4013b0019..42e4d02b6 100644
--- a/ava.config.js
+++ b/ava.config.js
@@ -13,7 +13,7 @@ export default {
extensions: false,
compileEnhancements: false,
files: [
- 'framework/js/packages/**/__tests__/*.test.js',
+ 'driver/js/packages/**/__tests__/*.test.js',
],
require: [
'esm', // Use ES modules in NodeJS.
diff --git a/docs/android/integration.md b/docs/android/integration.md
index 51d88decc..67e8bf958 100755
--- a/docs/android/integration.md
+++ b/docs/android/integration.md
@@ -12,7 +12,7 @@
# Demo 体验
-若想快速体验,可以直接基于我们的 [Android Demo](https://github.com/Tencent/Hippy/tree/master/framework/js/examples/android-demo) 来开发
+若想快速体验,可以直接基于我们的 [Android Demo](https://github.com/Tencent/Hippy/tree/master/driver/js/examples/android-demo) 来开发
# 快速接入
@@ -20,7 +20,7 @@
2. 本地集成
- - [Demo](//github.com/Tencent/Hippy/tree/master/framework/js/examples/android-demo) 工程运行 Gradle Task `other => assembleRelease` 或者 `other => assembleDebug` 后会在 `android\sdk\build\outputs\aar` 目录下生成 `release` 或者 `debug` 模式的
+ - [Demo](//github.com/Tencent/Hippy/tree/master/driver/js/examples/android-demo) 工程运行 Gradle Task `other => assembleRelease` 或者 `other => assembleDebug` 后会在 `android\sdk\build\outputs\aar` 目录下生成 `release` 或者 `debug` 模式的
`android-sdk.aar`,将 `android-sdk.aar` 拷贝到你项目的 `libs` 目录下。
!> 通过 `assembleRelease` task 生成的 AAR 默认不携带 `inspector` 模块,不能在前端通过 Devtools 对代码进行调试,若需要集成 `inspector`,请执行 `assembleDebug` task
@@ -47,6 +47,6 @@
api 'com.android.support:support-v4:28.0.0'
```
-4. 继承 `HippyImageLoader` 并实现自己的图片加载器,具体可以参考 [Demo](//github.com/Tencent/Hippy/tree/master/framework/js/examples/android-demo) 工程中 `MyImageLoader` 实现。
+4. 继承 `HippyImageLoader` 并实现自己的图片加载器,具体可以参考 [Demo](//github.com/Tencent/Hippy/tree/master/driver/js/examples/android-demo) 工程中 `MyImageLoader` 实现。
-5. 在宿主 APP 工程中增加引擎初始化与 `hippyRootView` 挂载逻辑,具体可以参考 [Demo](//github.com/Tencent/Hippy/tree/master/framework/js/examples/android-demo) 工程中 MyActivity 实现
+5. 在宿主 APP 工程中增加引擎初始化与 `hippyRootView` 挂载逻辑,具体可以参考 [Demo](//github.com/Tencent/Hippy/tree/master/driver/js/examples/android-demo) 工程中 MyActivity 实现
diff --git a/docs/core/introduction.md b/docs/core/introduction.md
index 2f1396693..a27d25c05 100644
--- a/docs/core/introduction.md
+++ b/docs/core/introduction.md
@@ -1,6 +1,6 @@
# Hippy Core 架构
-Hippy 开发的时候,前端 JS 经常需要访问一些双端(Android 和 iOS)通用能力,Hippy 推荐使用 `internalBinding` 来实现底层能力扩展(我们将这项能力称为 [Core 架构](//github.com/Tencent/Hippy/tree/master/framework/js/core)),它和 Node.js 的 internalBinding 一样,使用 C++ 进行开发,直接共享 JS 和 C++ 运行环境和数据,提供了非常高的 JS 和终端通信性能。
+Hippy 开发的时候,前端 JS 经常需要访问一些双端(Android 和 iOS)通用能力,Hippy 推荐使用 `internalBinding` 来实现底层能力扩展(我们将这项能力称为 [Core 架构](//github.com/Tencent/Hippy/tree/master/driver/js/core)),它和 Node.js 的 internalBinding 一样,使用 C++ 进行开发,直接共享 JS 和 C++ 运行环境和数据,提供了非常高的 JS 和终端通信性能。
它的原理是在 JS 环境中直接插入函数、类等方式,JS 使用这些函数或方法,可以直接访问 C++ 代码。
diff --git a/docs/guide/custom-font.md b/docs/guide/custom-font.md
index f44d7f071..38066bbca 100644
--- a/docs/guide/custom-font.md
+++ b/docs/guide/custom-font.md
@@ -6,7 +6,7 @@
前端使用自定义字体非常简单,和浏览器一样,使用 [font-family](https://www.w3schools.com/cssref/pr_font_font-family.asp) 样式即可。
-有两个范例:[hippy-react-demo](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/src/components/Text/index.jsx#L49)、[hippy-vue-demo](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/components/demos/demo-p.vue#L41)
+有两个范例:[hippy-react-demo](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/src/components/Text/index.jsx#L49)、[hippy-vue-demo](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/components/demos/demo-p.vue#L41)
但是如果要使用操作系统自带以外的字体,需要单独整合一下,继续阅读下面内容。
@@ -63,4 +63,4 @@ Android 只需要在静态资源 `assets` 目录中建立 `fonts` 目录,然
需要注意的是,字体文件名需要和 FontFamily 一致,因为 Android 虽然也可以做字体文件名映射,但是字体和文件名一致无疑是最简单的办法。
-> 官方 demo 的字体放在 [res/fonts](https://github.com/Tencent/Hippy/tree/master/framework/js/examples/android-demo/res) 目录下,是因为编译脚本[将 `res` 目录下的文件直接拷贝到 `assets` 目录](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/android-demo/build.gradle#L35)下了,所以 `res/assets` 就变成 `assets/assets` 目录,为了让字体目录正确拷贝进 `assets` 静态资源目录,只能让它放在 `res` 下。
+> 官方 demo 的字体放在 [res/fonts](https://github.com/Tencent/Hippy/tree/master/driver/js/examples/android-demo/res) 目录下,是因为编译脚本[将 `res` 目录下的文件直接拷贝到 `assets` 目录](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/android-demo/build.gradle#L35)下了,所以 `res/assets` 就变成 `assets/assets` 目录,为了让字体目录正确拷贝进 `assets` 静态资源目录,只能让它放在 `res` 下。
diff --git a/docs/guide/dynamic-import.md b/docs/guide/dynamic-import.md
index 00232d055..3be284b24 100644
--- a/docs/guide/dynamic-import.md
+++ b/docs/guide/dynamic-import.md
@@ -15,9 +15,9 @@ Hippy 2.2 版本之前只支持加载单个 js bundle 文件。随着业务越
## 范例
-[[React 范例]](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/src/externals/DyanmicImport/index.jsx)
+[[React 范例]](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/src/externals/DyanmicImport/index.jsx)
-[[Vue 范例]](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/components/demos/demo-dynamicimport.vue)
+[[Vue 范例]](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/components/demos/demo-dynamicimport.vue)
## 使用方法
@@ -27,7 +27,7 @@ Hippy 2.2 版本之前只支持加载单个 js bundle 文件。随着业务越
### 使用
-在 [webpack 打包脚本](https://github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-vue-demo/scripts) 中引入插件
+在 [webpack 打包脚本](https://github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-vue-demo/scripts) 中引入插件
```javascript
const HippyDynamicImportPlugin = require('@hippy/hippy-dynamic-import-plugin');
diff --git a/docs/guide/integration.md b/docs/guide/integration.md
index 309aa73da..c3b632d5a 100644
--- a/docs/guide/integration.md
+++ b/docs/guide/integration.md
@@ -2,7 +2,7 @@
Hippy 采用 `monorepo` 进行代码管理,版本前端和终端统一,前端可以直接引入对应的 NPM 包,终端可通过发布分支源码接入或通过对应的包管理仓库引入。
-Hippy 已经提供了完整的[前端和终端范例](//github.com/Tencent/Hippy/tree/master/framework/js/examples),可直接基于我们现有的范例开始 App 开发。若想快速体验 Hippy,可按照 [README 步骤](https://github.com/Tencent/Hippy/blob/master/README.zh_CN.md#-%E5%BC%80%E5%A7%8B) 将 DEMO 运行起来 。 如果要在已有的 App 里整合 Hippy,请继续阅读下面的`终端集成`章节。
+Hippy 已经提供了完整的[前端和终端范例](//github.com/Tencent/Hippy/tree/master/driver/js/examples),可直接基于我们现有的范例开始 App 开发。若想快速体验 Hippy,可按照 [README 步骤](https://github.com/Tencent/Hippy/blob/master/README.zh_CN.md#-%E5%BC%80%E5%A7%8B) 将 DEMO 运行起来 。 如果要在已有的 App 里整合 Hippy,请继续阅读下面的`终端集成`章节。
# 终端接入
@@ -14,7 +14,7 @@ Hippy 同时支持 React 和 Vue 两种 UI 框架,通过 [@hippy/react](//www.
## hippy-react
-[[hippy-react 介绍]](hippy-react/introduction.md) [[范例工程]](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo)
+[[hippy-react 介绍]](hippy-react/introduction.md) [[范例工程]](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo)
hippy-react 工程暂时只能通过手工配置初始化,建议直接 clone 范例工程并基于它进行修改。
@@ -32,7 +32,7 @@ hippy-react 工程暂时只能通过手工配置初始化,建议直接 clone
### 准备 hippy-react 编译时依赖
-以官方提供的 [范例工程](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo) 范例工程为例,需要使用 `npm i -D` 准备好以下依赖,当然开发者可以根据需要自行选择:
+以官方提供的 [范例工程](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo) 范例工程为例,需要使用 `npm i -D` 准备好以下依赖,当然开发者可以根据需要自行选择:
必须的:
@@ -60,7 +60,7 @@ hippy-react 工程暂时只能通过手工配置初始化,建议直接 clone
### hippy-react 编译配置
-当前 hippy-react 采用 `Webpack 4`构建,配置全部放置于 [scripts](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo/scripts) 目录下,其实只是 [webpack](//webpack.js.org/) 的配置文件,建议先阅读 [webpack](//webpack.js.org/) 官网内容,具备一定基础后再进行修改。
+当前 hippy-react 采用 `Webpack 4`构建,配置全部放置于 [scripts](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo/scripts) 目录下,其实只是 [webpack](//webpack.js.org/) 的配置文件,建议先阅读 [webpack](//webpack.js.org/) 官网内容,具备一定基础后再进行修改。
#### hippy-react 终端开发调试用编译配置
@@ -68,7 +68,7 @@ hippy-react 工程暂时只能通过手工配置初始化,建议直接 clone
| 配置文件 | 说明 |
| ------------------------------------------------------------ | ---------- |
-| [hippy-webpack.dev.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/hippy-webpack.dev.js) | 调试用配置 |
+| [hippy-webpack.dev.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/hippy-webpack.dev.js) | 调试用配置 |
#### 终端线上包配置
@@ -79,11 +79,11 @@ hippy-react 工程暂时只能通过手工配置初始化,建议直接 clone
| 配置文件 | 说明 |
| ------------------------------------------------------------ | ----------------------------- |
-| [vendor.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/vendor.js) | vendor 包中需要包含的共享部分 |
-| [hippy-webpack.ios.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/hippy-webpack.ios.js) | iOS 业务包配置 |
-| [hippy-webpack.ios-vendor.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/hippy-webpack.ios-vendor.js) | iOS Vendor 包配置 |
-| [hippy-webpack.android.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/hippy-webpack.android.js) | Android 业务包配置 |
-| [hippy-webpack.android-vendor.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/hippy-webpack.android-vendor.js) | Android Vendor 包配置 |
+| [vendor.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/vendor.js) | vendor 包中需要包含的共享部分 |
+| [hippy-webpack.ios.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/hippy-webpack.ios.js) | iOS 业务包配置 |
+| [hippy-webpack.ios-vendor.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/hippy-webpack.ios-vendor.js) | iOS Vendor 包配置 |
+| [hippy-webpack.android.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/hippy-webpack.android.js) | Android 业务包配置 |
+| [hippy-webpack.android-vendor.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/hippy-webpack.android-vendor.js) | Android Vendor 包配置 |
如果仔细观察 webpack 配置,可以看出 iOS 和 Android 配置相差不大,但因为 iOS 上受苹果政策影响只能使用 [JavaScriptCore](//developer.apple.com/documentation/javascriptcore)(以下简称 JSC)作为运行环境,而 JSC 是跟随 iOS 操作系统的,无法进行独立升级,低版本 iOS 带的 JSC 甚至无法完整支持 ES6,所以需要输出一份 ES5 版本的 JS 代码。而 Android 下可以使用独立升级的 [X5](//x5.tencent.com/) 中的 V8 作为运行环境,就可以直接使用 ES6 代码了。
@@ -126,7 +126,7 @@ export default function app() {
### hippy-react npm 脚本
-最后在 [package.json](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/package.json#L13) 中补上几个快速的 npm 脚本就可以了,这里以 `hippy:`开头做好了范例,这里顺道做了一个到 [hippy-debug-server](//www.npmjs.com/package/hippy-debug-server) 的快速启动命令。
+最后在 [package.json](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/package.json#L13) 中补上几个快速的 npm 脚本就可以了,这里以 `hippy:`开头做好了范例,这里顺道做了一个到 [hippy-debug-server](//www.npmjs.com/package/hippy-debug-server) 的快速启动命令。
```json
"scripts": {
@@ -143,7 +143,7 @@ export default function app() {
## hippy-vue
-[[hippy-vue 介绍]](hippy-vue/introduction.md) [[范例工程]](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-vue-demo)
+[[hippy-vue 介绍]](hippy-vue/introduction.md) [[范例工程]](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-vue-demo)
hippy-vue 相对简单很多,hippy-vue 只是 [Vue](//vuejs.org) 在终端上的渲染层,组件也基本和浏览器保持一致。可以通过 [vue-cli](//cli.vuejs.org/) 先[创建一个 Web 项目](//cli.vuejs.org/zh/guide/creating-a-project.html),然后加上一些 hippy-vue 的内容就可以直接将网页渲染到终端了。
@@ -159,7 +159,7 @@ hippy-vue 相对简单很多,hippy-vue 只是 [Vue](//vuejs.org) 在终端上
### hippy-vue 编译时依赖
-以官方提供的 [范例工程](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-vue-demo) 范例工程为例,需要使用 `npm i -D` 准备好以下依赖,当然开发者可以根据需要自行选择:
+以官方提供的 [范例工程](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-vue-demo) 范例工程为例,需要使用 `npm i -D` 准备好以下依赖,当然开发者可以根据需要自行选择:
必须的:
@@ -186,7 +186,7 @@ hippy-vue 相对简单很多,hippy-vue 只是 [Vue](//vuejs.org) 在终端上
### hippy-vue 编译配置
-当前 hippy-vue 采用 `Webpack 4`构建(暂时不建议升级到`Weppack 5`),配置全部放置于 [scripts](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-vue-demo/scripts) 目录下,其实只是 [webpack](//webpack.js.org/) 的配置文件,建议先阅读 [webpack](//webpack.js.org/) 官网内容,具备一定基础后再进行修改。
+当前 hippy-vue 采用 `Webpack 4`构建(暂时不建议升级到`Weppack 5`),配置全部放置于 [scripts](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-vue-demo/scripts) 目录下,其实只是 [webpack](//webpack.js.org/) 的配置文件,建议先阅读 [webpack](//webpack.js.org/) 官网内容,具备一定基础后再进行修改。
#### hippy-vue 终端开发调试用编译配置
@@ -194,7 +194,7 @@ hippy-vue 相对简单很多,hippy-vue 只是 [Vue](//vuejs.org) 在终端上
| 配置文件 | 说明 |
| ------------------------------------------------------------ | ---------- |
-| [hippy-webpack.dev.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/scripts/hippy-webpack.dev.js) | 调试用配置 |
+| [hippy-webpack.dev.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/scripts/hippy-webpack.dev.js) | 调试用配置 |
#### hippy-vue 终端线上包配置
@@ -205,11 +205,11 @@ hippy-vue 相对简单很多,hippy-vue 只是 [Vue](//vuejs.org) 在终端上
| 配置文件 | 说明 |
| ------------------------------------------------------------ | ----------------------------- |
-| [vendor.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/scripts/vendor.js) | vendor 包中需要包含的共享部分 |
-| [hippy-webpack.ios.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/scripts/hippy-webpack.ios.js) | iOS 业务包配置 |
-| [hippy-webpack.ios-vendor.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/scripts/hippy-webpack.ios-vendor.js) | iOS Vendor 包配置 |
-| [hippy-webpack.android.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/scripts/hippy-webpack.android.js) | Android 业务包配置 |
-| [hippy-webpack.android-vendor.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/scripts/hippy-webpack.android-vendor.js) | Android Vendor 包配置 |
+| [vendor.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/scripts/vendor.js) | vendor 包中需要包含的共享部分 |
+| [hippy-webpack.ios.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/scripts/hippy-webpack.ios.js) | iOS 业务包配置 |
+| [hippy-webpack.ios-vendor.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/scripts/hippy-webpack.ios-vendor.js) | iOS Vendor 包配置 |
+| [hippy-webpack.android.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/scripts/hippy-webpack.android.js) | Android 业务包配置 |
+| [hippy-webpack.android-vendor.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/scripts/hippy-webpack.android-vendor.js) | Android Vendor 包配置 |
如果仔细观察 webpack 配置,可以看出 iOS 和 Android 配置相差不大,但因为 iOS 上受苹果政策影响只能使用 [JavaScriptCore](//developer.apple.com/documentation/javascriptcore)(以下简称 JSC)作为运行环境,而 JSC 是跟随 iOS 操作系统的,无法进行独立升级,低版本 iOS 带的 JSC 甚至无法完整支持 ES6,所以需要输出一份 ES5 版本的 JS 代码。而 Android 下可以使用独立升级的 [X5](//x5.tencent.com/) 中的 V8 作为运行环境,就可以直接使用 ES6 代码了。
@@ -217,7 +217,7 @@ hippy-vue 相对简单很多,hippy-vue 只是 [Vue](//vuejs.org) 在终端上
### hippy-vue 入口文件
-hippy-cli 初始化的项目自带了一个 [Web 端入口文件](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/main.js),可以保留着用来启动 Web 端网页,但是因为 hippy-vue 的启动参数不一样,需要专门的 [终端入口文件](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/main-native.js)来加载一些终端上用到的模块。
+hippy-cli 初始化的项目自带了一个 [Web 端入口文件](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/main.js),可以保留着用来启动 Web 端网页,但是因为 hippy-vue 的启动参数不一样,需要专门的 [终端入口文件](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/main-native.js)来加载一些终端上用到的模块。
```js
import Vue from 'vue';
@@ -292,7 +292,7 @@ setApp(app);
### hippy-vue npm script
-最后在 [package.json](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/package.json#L13) 中补上几个快速的 npm 脚本就可以了,这里以 `hippy:`开头做好了范例,这里顺道做了一个到 [hippy-debug-server](//www.npmjs.com/package/hippy-debug-server) 的快速启动命令。
+最后在 [package.json](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/package.json#L13) 中补上几个快速的 npm 脚本就可以了,这里以 `hippy:`开头做好了范例,这里顺道做了一个到 [hippy-debug-server](//www.npmjs.com/package/hippy-debug-server) 的快速启动命令。
```json
"scripts": {
diff --git a/docs/guide/jsi.md b/docs/guide/jsi.md
index b877277c1..8ba9a355a 100644
--- a/docs/guide/jsi.md
+++ b/docs/guide/jsi.md
@@ -56,7 +56,7 @@ public class DemoJavaTurboModule extends HippyNativeModuleBase {
-更多示例可参考类[DemoJavaTurboModule](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/android-demo/example/src/main/java/com/tencent/mtt/hippy/example/module/turbo/DemoJavaTurboModule.java)
+更多示例可参考类[DemoJavaTurboModule](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/android-demo/example/src/main/java/com/tencent/mtt/hippy/example/module/turbo/DemoJavaTurboModule.java)
* 注册TurboModule模块,跟NativeModule注册方法完全一致
@@ -154,16 +154,16 @@ HIPPY_EXPORT_TURBO_METHOD(setInfo:(NSString *)string) {
-更多示例可参考类[DemoIOSTurboModule](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/ios-demo/HippyDemo/turbomodule/TurboBaseModule.mm)
+更多示例可参考类[DemoIOSTurboModule](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/ios-demo/HippyDemo/turbomodule/TurboBaseModule.mm)
## 使用例子
-[Android Demo](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/android-demo)
+[Android Demo](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/android-demo)
-[iOS Demo](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/ios-demo)
+[iOS Demo](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/ios-demo)
-[HippyReact Demo](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/src/externals/Turbo/index.jsx)
+[HippyReact Demo](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/src/externals/Turbo/index.jsx)
-[HippyVue Demo](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/components/demos/demo-turbo.vue)
+[HippyVue Demo](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/components/demos/demo-turbo.vue)
diff --git a/docs/hippy-react/gesture.md b/docs/hippy-react/gesture.md
index 0cf1afc8f..87bc60f6a 100644
--- a/docs/hippy-react/gesture.md
+++ b/docs/hippy-react/gesture.md
@@ -69,7 +69,7 @@ render()
## 事件冒泡
-[[事件冒泡范例]](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo/src/components/ListView)
+[[事件冒泡范例]](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo/src/components/ListView)
点击事件和触屏事件均可以在回调函数中定义是否需要冒泡该事件到上层组件,点击或触屏事件发生时,终端会寻找该触屏点下声明了要处理该事件的最小控件:
@@ -144,7 +144,7 @@ new Hippy({
> 最低支持版本 2.11.5
-[[事件捕获范例]](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo/src/components/ListView)
+[[事件捕获范例]](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo/src/components/ListView)
点击事件和触屏事件支持事件捕获,如需注册捕获阶段的事件处理函数,则应在目标元素事件名添加 `Capture` 后缀,如 `onClickCapture`、`onTouchDownCapture`。
diff --git a/docs/hippy-react/modules.md b/docs/hippy-react/modules.md
index bd2621961..d1f637190 100644
--- a/docs/hippy-react/modules.md
+++ b/docs/hippy-react/modules.md
@@ -7,7 +7,7 @@
# Animation
-[[Animation 范例]](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/src/modules/Animation/index.jsx)
+[[Animation 范例]](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/src/modules/Animation/index.jsx)
`Animation` 是 Hippy 提供的动画组件,可以支持传入动画配置,以及手动控制开始与结束。在 Hippy 上实现一个动画分为三个步骤:
@@ -34,7 +34,7 @@
- `rad`:代表动画参数的起止值为弧度;
- `deg`:代表动画参数的起止值为度数;
- - `color`:代表动画参数的起止值为颜色值,可修饰背景色 `backgroundColor` 和文字颜色 `color`(仅 Android 支持),参考 [例子](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/src/modules/Animation/index.jsx) `最低支持版本2.6.0`
+ - `color`:代表动画参数的起止值为颜色值,可修饰背景色 `backgroundColor` 和文字颜色 `color`(仅 Android 支持),参考 [例子](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/src/modules/Animation/index.jsx) `最低支持版本2.6.0`
- timingFunction 的参数选项:
- `linear`:使用线性插值器,动画将匀速进行;
@@ -83,7 +83,7 @@
# AnimationSet
-[[AnimationSet 范例]](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/src/modules/Animation)
+[[AnimationSet 范例]](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/src/modules/Animation)
`AnimationSet` 与 `Animation` 类似,都是赋予 hippy 组件的单个样式属性(如 width、height、left、right)动画能力的模块。
@@ -132,7 +132,7 @@
# AsyncStorage
-[[AsyncStorage 范例]](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo/src/modules/AsyncStorage/index.jsx)
+[[AsyncStorage 范例]](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo/src/modules/AsyncStorage/index.jsx)
AsyncStorage 是一个简单的、异步的、持久化的 Key-Value 存储系统,它对于 App 来说是全局性的。
@@ -185,11 +185,11 @@ AsyncStorage 是一个简单的、异步的、持久化的 Key-Value 存储系
# BackAndroid
-[[BackAndroid 范例]](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/src/pages/gallery.jsx#L171)
+[[BackAndroid 范例]](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/src/pages/gallery.jsx#L171)
可以监听 Android 实体键的回退,在退出前做操作或拦截实体键的回退。 `hippy-react-web` 不支持。
-> 注意:该方法需要终端拦截实体返回按钮的事件,可以参考 [android-demo 的 onBackPressed 方法](//github.com/Tencent/Hippy/blob/master/framework/js/examples/android-demo/example/src/main/java/com/tencent/mtt/hippy/example/MyActivity.java)
+> 注意:该方法需要终端拦截实体返回按钮的事件,可以参考 [android-demo 的 onBackPressed 方法](//github.com/Tencent/Hippy/blob/master/driver/js/examples/android-demo/example/src/main/java/com/tencent/mtt/hippy/example/MyActivity.java)
## 方法
@@ -213,7 +213,7 @@ AsyncStorage 是一个简单的、异步的、持久化的 Key-Value 存储系
# Clipboard
-[[Clipboard 范例]](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo/src/modules/Clipboard)
+[[Clipboard 范例]](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo/src/modules/Clipboard)
模块提供了 iOS/Android 双端的剪贴板能力,开发者可使用其来读取或写入剪贴板,目前仅支持字符串作为存取类型。
@@ -296,7 +296,7 @@ AsyncStorage 是一个简单的、异步的、持久化的 Key-Value 存储系
# NetInfo
-[[NetInfo 范例]](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo/src/modules/NetInfo)
+[[NetInfo 范例]](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo/src/modules/NetInfo)
通过该接口可以获得当前设备的网络状态,也可以注册一个监听器,当系统网络切换的时候,得到一个通知。
diff --git a/docs/hippy-react/web.md b/docs/hippy-react/web.md
index b338d3858..43498cc7d 100644
--- a/docs/hippy-react/web.md
+++ b/docs/hippy-react/web.md
@@ -22,7 +22,7 @@ hippy-react 通过 [@hippy/react-web](//www.npmjs.com/package/@hippy/react-web)
# 编译时依赖
-以官方提供的 [范例工程](//github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-react-demo) 范例工程为例,需要使用 `npm i -D` 准备好以下依赖,当然开发者可以根据需要自行选择:
+以官方提供的 [范例工程](//github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-react-demo) 范例工程为例,需要使用 `npm i -D` 准备好以下依赖,当然开发者可以根据需要自行选择:
| 包名 | 说明 |
| ------------------- | ----------------------------- |
@@ -35,11 +35,11 @@ hippy-react 通过 [@hippy/react-web](//www.npmjs.com/package/@hippy/react-web)
该配置展示了将 Hippy 运行于 Web 的最小化配置,并未包含分包等内容,开发者可以自行扩展。
-和 hippy-react 的主要区别在于做了一个 hippy-react 到 hippy-react-web 的 [alias](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/hippy-webpack.web.js#L80),使之可以不用修改代码直接运行。
+和 hippy-react 的主要区别在于做了一个 hippy-react 到 hippy-react-web 的 [alias](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/hippy-webpack.web.js#L80),使之可以不用修改代码直接运行。
| 配置文件 | 说明 |
| ------------------------------------------------------------ | ---------- |
-| [hippy-webpack.web.js](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-react-demo/scripts/hippy-webpack.web.js) | 调试用配置 |
+| [hippy-webpack.web.js](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-react-demo/scripts/hippy-webpack.web.js) | 调试用配置 |
# 入口文件
diff --git a/docs/hippy-vue/customize.md b/docs/hippy-vue/customize.md
index 2c7af785a..7d357dfe4 100644
--- a/docs/hippy-vue/customize.md
+++ b/docs/hippy-vue/customize.md
@@ -39,7 +39,7 @@ Vue.registerElement('h-my-view', {
* nativeEventName: 终端的原生事件名称
* nativeEventParams:终端的原生事件返回体
-例如,hippy-vue 的 [hi-swiper 组件](//github.com/Tencent/Hippy/blob/master/framework/js/packages/hippy-vue-native-components/src/swiper.js#L4),它是 swiper 实际渲染的对应节点。
+例如,hippy-vue 的 [hi-swiper 组件](//github.com/Tencent/Hippy/blob/master/driver/js/packages/hippy-vue-native-components/src/swiper.js#L4),它是 swiper 实际渲染的对应节点。
```javascript
component: {
diff --git a/docs/hippy-vue/external-components.md b/docs/hippy-vue/external-components.md
index 1904f3aee..261322999 100644
--- a/docs/hippy-vue/external-components.md
+++ b/docs/hippy-vue/external-components.md
@@ -8,7 +8,7 @@
# animation
-[[范例:demo-animation.vue]](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/components/native-demos/demo-animation.vue)
+[[范例:demo-animation.vue]](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/components/native-demos/demo-animation.vue)
该组件是 hippy-vue 的动画解决方案,直接传入一个样式值和动画方案数组,即可触发动作效果。
@@ -23,13 +23,13 @@
* actions 详解
- 和 React 不同,它将单个动画 Animation 和动画序列 AnimationSet 合二为一了,其实方法特别简单,发现是个对象就是 Animation,如果是个数组就是动画序列就用 AnimationSet 处理,单个动画参数具体参考 [Animation 模块](../hippy-react/modules.md?id=animation)和 [范例](https://github.com/Tencent/Hippy/tree/master/framework/js/examples/hippy-vue-demo/src/components/native-demos/animations)。需要说明 hippy-vue 的动画参数有一些[默认值](https://github.com/Tencent/Hippy/blob/master/packages/hippy-vue-native-components/src/animation.js#L5),只有差异部分才需要填写。循环播放参数 `repeatCount: 'loop'` 在 `2.12.2` 及以上版本支持,低版本请使用 `repeatCount: -1`。
+ 和 React 不同,它将单个动画 Animation 和动画序列 AnimationSet 合二为一了,其实方法特别简单,发现是个对象就是 Animation,如果是个数组就是动画序列就用 AnimationSet 处理,单个动画参数具体参考 [Animation 模块](../hippy-react/modules.md?id=animation)和 [范例](https://github.com/Tencent/Hippy/tree/master/driver/js/examples/hippy-vue-demo/src/components/native-demos/animations)。需要说明 hippy-vue 的动画参数有一些[默认值](https://github.com/Tencent/Hippy/blob/master/packages/hippy-vue-native-components/src/animation.js#L5),只有差异部分才需要填写。循环播放参数 `repeatCount: 'loop'` 在 `2.12.2` 及以上版本支持,低版本请使用 `repeatCount: -1`。
特别说明,对 actions 替换后会自动新建动画,需手动启动新动画。有两种处理方式:
* 替换 actions => 延迟一定时间后(如setTimeout) 调用 `this.[animation ref].start()`(推荐)
* `playing = false` => 替换 actions => 延迟一定时间后(如setTimeout) `playing = true`
- 2.6.0 版本新增 `backgroundColor` 背景色渐变动画支持,参考 [渐变色动画DEMO](https://github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/components/native-demos/animations/color-change.vue)
+ 2.6.0 版本新增 `backgroundColor` 背景色渐变动画支持,参考 [渐变色动画DEMO](https://github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/components/native-demos/animations/color-change.vue)
* 设置 `actions` 对 `backgroundColor` 进行修饰
* 设置 `valueType` 为 `color`
* 设置 `startValue` 和 `toValue` 为 [color值](style/color.md)
@@ -76,7 +76,7 @@
# dialog
-[[范例:demo-dialog.vue]](//github.com/Tencent/Hippy/blob/master/framework/js/examples/hippy-vue-demo/src/components/native-demos/demo-dialog.vue)
+[[范例:demo-dialog.vue]](//github.com/Tencent/Hippy/blob/master/driver/js/examples/hippy-vue-demo/src/components/native-demos/demo-dialog.vue)
用于模态弹窗,默认透明背景色,需要加一个带背景色的 `
0||e.didTimeout)&&function e(t){"number"==typeof t?ee(t):t&&(ee(t.nodeId),Array.isArray(t.childNodes)&&t.childNodes.forEach((function(t){return e(t)})))}(t)}),{timeout:50})}var ie=0,ae=1,oe={onTouchStart:["onTouchStart","onTouchDown"],onPress:["onPress","onClick"]},le={onClick:"click",onLongClick:"longclick",onPressIn:"pressin",onPressOut:"pressout",onTouchDown:"touchstart",onTouchStart:"touchstart",onTouchEnd:"touchend",onTouchMove:"touchmove",onTouchCancel:"touchcancel"};function ue(e){return e.replace(/^(on)?/g,"").toLocaleLowerCase()}var se=new RegExp(/^\d+$/),ce=!1;function fe(){}function de(e){return e.replace(/\\u[\dA-F]{4}|\\x[\dA-F]{2}/gi,(function(e){return String.fromCharCode(parseInt(e.replace(/\\u|\\x/g,""),16))}))}var pe=new RegExp("^on.+Capture$");function he(e){return pe.test(e)}var me=new RegExp("^(?=.+)[+-]?\\d*\\.?\\d*([Ee][+-]?\\d+)?$");function ve(e){if("number"==typeof e)return e;if("string"==typeof e&&me.test(e))try{return parseFloat(e)}catch(t){return e}return e}function ye(e){return"[object Function]"===Object.prototype.toString.call(e)}function ge(e){e}function be(){return ce}function ke(e){if(e&&!/^(http|https):\/\//.test(e)&&e.indexOf("assets")>-1){return"".concat("hpfile://","./").concat(e)}return e}function we(e){return 5===e}var Se=function(){function e(t){L(this,e),this.handlerContainer={},this.nextIdForHandler=0,this.eventName=t}return R(e,[{key:"getEventListeners",value:function(){var e=this;return Object.keys(this.handlerContainer).filter((function(t){return e.handlerContainer[t]})).map((function(t){return e.handlerContainer[t]}))}},{key:"getHandlerSize",value:function(){return Object.keys(this.handlerContainer).length}},{key:"addEventHandler",value:function(e,t){if(!e)throw new TypeError("Invalid arguments for addEventHandler");var n=this.nextIdForHandler;this.nextIdForHandler+=1;var r={id:n,eventHandler:e,context:t},i="eventHandler_".concat(n);return this.handlerContainer[i]=r,n}},{key:"notifyEvent",value:function(e){var t=this;Object.keys(this.handlerContainer).forEach((function(n){var r=t.handlerContainer[n];r&&r.eventHandler&&(r.context?r.eventHandler.call(r.context,e):r.eventHandler(e))}))}},{key:"removeEventHandler",value:function(e){if("number"!=typeof e)throw new TypeError("Invalid arguments for removeEventHandler");var t="eventHandler_".concat(e);this.handlerContainer[t]&&delete this.handlerContainer[t]}}]),e}(),Ee=function(){function e(t,n,r){L(this,e),this.type=t,this.bubbles=!0,this.timeStamp=Date.now(),this.currentTarget=n,this.target=r}return R(e,[{key:"stopPropagation",value:function(){this.bubbles=!1}},{key:"preventDefault",value:function(){}}]),e}(),Ce=new Map,xe=["%c[event]%c","color: green","color: auto"];function Ne(e,t){var n=e;if(t.memoizedProps&&!t.memoizedProps[e])for(var r=Object.keys(oe),i=0;i
* Copyright © 2018-2022 Tencent. All rights reserved.
*
-* Generated at Tue May 17 2022 17:55:49 GMT+0800 (中国标准时间).
+* Generated at Fri May 20 2022 22:29:35 GMT+0800 (China Standard Time).
* DO NOT EDIT IT.
*/
diff --git a/lerna.json b/lerna.json
index aabca03e7..a0f3a13c7 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,7 +1,7 @@
{
"npmClient": "npm",
"packages": [
- "framework/js/packages/*"
+ "driver/js/packages/*"
],
"version": "2.2.1"
}
diff --git a/package.json b/package.json
index 849f9f48c..86985374e 100644
--- a/package.json
+++ b/package.json
@@ -14,12 +14,12 @@
"markdownlint": "markdownlint --config .markdownlintrc.json \"./@(README|README.zh_CN|PUBLISH.zh_CN).md\" \"./docs/**/*.md\"",
"coverage": "nyc ava",
"codecov": "cat ./coverage/lcov.info | codecov",
- "lint": "eslint --fix \"framework/js/packages/**/*.@(js|ts|tsx|vue)\" \"framework/js/examples/hippy-react-demo/**/*.@(js|jsx)\" \"framework/js/examples/hippy-vue-demo/**/*.@(js|vue)\" \"./scripts/**/*.js\" \"framework/js/core/js/**/*.js\"",
- "clean": "rimraf ./framework/js/packages/*/node_modules ./framework/js/examples/hippy-react-demo/node_modules ./framework/js/examples/hippy-vue-demo/node_modules",
+ "lint": "eslint --fix \"driver/js/packages/**/*.@(js|ts|tsx|vue)\" \"driver/js/examples/hippy-react-demo/**/*.@(js|jsx)\" \"driver/js/examples/hippy-vue-demo/**/*.@(js|vue)\" \"./scripts/**/*.js\" \"driver/js/core/js/**/*.js\"",
+ "clean": "rimraf ./driver/js/packages/*/node_modules ./driver/js/examples/hippy-react-demo/node_modules ./driver/js/examples/hippy-vue-demo/node_modules",
"init": "npm install && npx lerna bootstrap && npm run build",
"init:example": "node ./scripts/init-example.js",
"test": "ava",
- "watch": "watch \"npm run build\" ./framework/js/packages --ignoreDotFiles --ignoreUnreadable --ignoreDirectoryPattern '/dist/'",
+ "watch": "watch \"npm run build\" ./driver/js/packages --ignoreDotFiles --ignoreUnreadable --ignoreDirectoryPattern '/dist/'",
"publish": "npx lerna version patch --conventional-commits --sign-git-commit",
"doc": "docsify serve docs",
"prepare": "is-ci || husky install"
@@ -91,10 +91,10 @@
"core": "node_modules/vue/src/core",
"shared": "node_modules/vue/src/shared",
"sfc": "node_modules/vue/src/sfc",
- "he": "framework/js/packages/hippy-vue/util/entity-decoder",
- "@vue": "framework/js/packages/hippy-vue/src",
- "@router": "framework/js/packages/hippy-vue-router/src",
- "@css-loader": "framework/js/packages/hippy-vue-css-loader/src",
- "@native-components": "framework/js/packages/hippy-vue-native-components/src"
+ "he": "driver/js/packages/hippy-vue/util/entity-decoder",
+ "@vue": "driver/js/packages/hippy-vue/src",
+ "@router": "driver/js/packages/hippy-vue-router/src",
+ "@css-loader": "driver/js/packages/hippy-vue-css-loader/src",
+ "@native-components": "driver/js/packages/hippy-vue-native-components/src"
}
}
diff --git a/scripts/build-core.js b/scripts/build-core.js
index d83b896df..f4fc59438 100644
--- a/scripts/build-core.js
+++ b/scripts/build-core.js
@@ -131,18 +131,18 @@ function getAbsolutePath(relativePath) {
function getAllRequiredFiles(platform) {
return new Promise((resole) => {
const rl = readline.createInterface({
- input: fs.createReadStream(getAbsolutePath(`../framework/js/core/js/entry/${platform}/hippy.js`)),
+ input: fs.createReadStream(getAbsolutePath(`../driver/js/core/js/entry/${platform}/hippy.js`)),
});
const filePaths = [
- getAbsolutePath('../framework/js/core/js/bootstrap.js'),
- getAbsolutePath(`../framework/js/core/js/entry/${platform}/hippy.js`),
- getAbsolutePath('../framework/js/core/js/modules/ExceptionHandle.js'),
+ getAbsolutePath('../driver/js/core/js/bootstrap.js'),
+ getAbsolutePath(`../driver/js/core/js/entry/${platform}/hippy.js`),
+ getAbsolutePath('../driver/js/core/js/modules/ExceptionHandle.js'),
];
rl.on('line', (line) => {
if (line.split('//')[0].indexOf('require') > -1) {
const entry = line.split('(\'')[1].split('\')')[0];
- filePaths.push(getAbsolutePath(`../framework/js/core/js/entry/${platform}/${entry}`));
+ filePaths.push(getAbsolutePath(`../driver/js/core/js/entry/${platform}/${entry}`));
}
});
rl.on('close', () => {
@@ -225,6 +225,6 @@ function generateCpp(platform, buildDirPath) {
}
// Start to work
-generateCpp('ios', getAbsolutePath('../framework/js/ios/base'));
-generateCpp('android', getAbsolutePath('../framework/js/android/src/main/jni/src/bridge/'));
-generateCpp('flutter', getAbsolutePath('../framework/js/flutter/core/src/bridge/'));
+generateCpp('ios', getAbsolutePath('../driver/js/ios/base'));
+generateCpp('android', getAbsolutePath('../driver/js/android/src/main/jni/src/bridge/'));
+generateCpp('flutter', getAbsolutePath('../driver/js/flutter/core/src/bridge/'));
diff --git a/scripts/build-debug-server.js b/scripts/build-debug-server.js
index 327975cbe..593de8e67 100644
--- a/scripts/build-debug-server.js
+++ b/scripts/build-debug-server.js
@@ -9,7 +9,7 @@ const {
module.exports = buildDebugServer;
function buildDebugServer() {
- const DEBUG_SERVER_PATH = path.join(__dirname, '../framework/js/packages/hippy-debug-server');
+ const DEBUG_SERVER_PATH = path.join(__dirname, '../driver/js/packages/hippy-debug-server');
pushd(DEBUG_SERVER_PATH);
diff --git a/scripts/build-example.js b/scripts/build-example.js
index da265f539..3aedbedaf 100644
--- a/scripts/build-example.js
+++ b/scripts/build-example.js
@@ -17,7 +17,7 @@ if (!example) {
}
const BASE_PATH = process.cwd();
// Target demo project path
-const DEMO_PATH = path.join(BASE_PATH, 'framework/js/examples', example);
+const DEMO_PATH = path.join(BASE_PATH, 'driver/js/examples', example);
if (!test('-d', DEMO_PATH)) {
console.error(`❌ Can not find demo project: ${example}, ${cmdExample}`);
process.exit(1);
diff --git a/scripts/debug-example.js b/scripts/debug-example.js
index e222ba91d..163da6bae 100644
--- a/scripts/debug-example.js
+++ b/scripts/debug-example.js
@@ -23,7 +23,7 @@ if (!cmd) {
}
const BASE_PATH = process.cwd();
// Target demo project path
-const DEMO_PATH = path.join(BASE_PATH, 'framework/js/examples', example);
+const DEMO_PATH = path.join(BASE_PATH, 'driver/js/examples', example);
if (!test('-d', DEMO_PATH)) {
console.error(`❌ Can not find demo project: ${example}, ${cmdExample}.`);
process.exit(1);
diff --git a/scripts/init-example.js b/scripts/init-example.js
index 5c56f1737..195e86ba6 100644
--- a/scripts/init-example.js
+++ b/scripts/init-example.js
@@ -15,7 +15,7 @@ if (!example) {
}
const BASE_PATH = process.cwd();
// Target demo project path
-const DEMO_PATH = path.join(BASE_PATH, 'framework/js/examples', example);
+const DEMO_PATH = path.join(BASE_PATH, 'driver/js/examples', example);
if (!test('-d', DEMO_PATH)) {
console.error(`❌ Can not find demo project: ${example}, ${cmdExample}`);
return;
diff --git a/scripts/react-configs.js b/scripts/react-configs.js
index 357c36cfe..fb990e384 100644
--- a/scripts/react-configs.js
+++ b/scripts/react-configs.js
@@ -5,8 +5,8 @@ const replace = require('@rollup/plugin-replace');
const { nodeResolve } = require('@rollup/plugin-node-resolve');
const commonjs = require('@rollup/plugin-commonjs');
-const hippyReactPackage = require('../framework/js/packages/hippy-react/package.json');
-const hippyReactWebPackage = require('../framework/js/packages/hippy-react-web/package.json');
+const hippyReactPackage = require('../driver/js/packages/hippy-react/package.json');
+const hippyReactWebPackage = require('../driver/js/packages/hippy-react-web/package.json');
function banner(name, version) {
const startYear = 2017;
@@ -43,8 +43,8 @@ function banner(name, version) {
const builds = {
'@hippy/react': {
- entry: './framework/js/packages/hippy-react/src/index.ts',
- dest: './framework/js/packages/hippy-react/dist/index.js',
+ entry: './driver/js/packages/hippy-react/src/index.ts',
+ dest: './driver/js/packages/hippy-react/dist/index.js',
format: 'es',
banner: banner('@hippy/react', hippyReactPackage.version),
external(id) {
@@ -56,8 +56,8 @@ const builds = {
},
},
'@hippy/react-web': {
- entry: './framework/js/packages/hippy-react-web/src/index.ts',
- dest: './framework/js/packages/hippy-react-web/dist/index.js',
+ entry: './driver/js/packages/hippy-react-web/src/index.ts',
+ dest: './driver/js/packages/hippy-react-web/dist/index.js',
format: 'es',
banner: banner('@hippy/react-web', hippyReactWebPackage.version),
external(id) {
diff --git a/scripts/vue-configs.js b/scripts/vue-configs.js
index cd7633603..a42e70a4a 100644
--- a/scripts/vue-configs.js
+++ b/scripts/vue-configs.js
@@ -7,10 +7,10 @@ const { nodeResolve } = require('@rollup/plugin-node-resolve');
const flow = require('rollup-plugin-flow-no-whitespace');
const VueVersion = require('vue/package.json').version;
-const hippyVuePackage = require('../framework/js/packages/hippy-vue/package.json');
-const cssLoaderPackage = require('../framework/js/packages/hippy-vue-css-loader/package.json');
-const nativeComponentsPackage = require('../framework/js/packages/hippy-vue-native-components/package.json');
-const routerPackage = require('../framework/js/packages/hippy-vue-router/package.json');
+const hippyVuePackage = require('../driver/js/packages/hippy-vue/package.json');
+const cssLoaderPackage = require('../driver/js/packages/hippy-vue-css-loader/package.json');
+const nativeComponentsPackage = require('../driver/js/packages/hippy-vue-native-components/package.json');
+const routerPackage = require('../driver/js/packages/hippy-vue-router/package.json');
const andHippyVueString = ` and Hippy-Vue v${hippyVuePackage.version}`;
@@ -53,7 +53,7 @@ function resolveVue(p) {
}
function resolvePackage(src, extra = 'src') {
- return path.resolve(__dirname, '../framework/js/packages/', src, extra);
+ return path.resolve(__dirname, '../driver/js/packages/', src, extra);
}
const aliases = {
@@ -63,7 +63,7 @@ const aliases = {
core: resolveVue('core'),
shared: resolveVue('shared'),
sfc: resolveVue('sfc'),
- he: path.resolve(__dirname, '../framework/js/packages/hippy-vue/src/util/entity-decoder'),
+ he: path.resolve(__dirname, '../driver/js/packages/hippy-vue/src/util/entity-decoder'),
'@vue': resolvePackage('hippy-vue'),
'@router': resolvePackage('hippy-vue-router'),
'@css-loader': resolvePackage('hippy-vue-css-loader'),
diff --git a/tsconfig.json b/tsconfig.json
index 1db88eff4..fee729af4 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -42,17 +42,17 @@
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
"baseUrl": "./", /* Base directory to resolve non-absolute module names. */
"paths": { /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
- "@vue/*": ["framework/js/packages/hippy-vue/src/*"],
- "@router/*": ["framework/js/packages/hippy-vue-router/src/*"],
- "@css-loader/*": ["framework/js/packages/hippy-vue-css-loader/src/*"],
- "@native-components/*": ["framework/js/packages/hippy-vue-native-components/src/*"],
+ "@vue/*": ["driver/js/packages/hippy-vue/src/*"],
+ "@router/*": ["driver/js/packages/hippy-vue-router/src/*"],
+ "@css-loader/*": ["driver/js/packages/hippy-vue-css-loader/src/*"],
+ "@native-components/*": ["driver/js/packages/hippy-vue-native-components/src/*"],
"vue": ["node_modules/vue/src/core/index"],
"compiler/*": ["node_modules/vue/src/compiler/*"],
"web/*": ["node_modules/vue/src/platforms/web/*"],
"core/*": ["node_modules/vue/src/core/*"],
"shared/*": ["node_modules/vue/src/shared/*"],
"sfc/*": ["node_modules/vue/src/sfc/*"],
- "he": ["framework/js/packages/hippy-vue/src/util/entity-decoder"]
+ "he": ["driver/js/packages/hippy-vue/src/util/entity-decoder"]
},
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
@@ -73,8 +73,8 @@
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
},
"include": [
- "framework/js/packages/*/src",
- "framework/js/packages/global.d.ts",
+ "driver/js/packages/*/src",
+ "driver/js/packages/global.d.ts",
"node_modules/@types/web/index.d.ts",
"node_modules/@types/node/index.d.ts",
],