ice/packages/miniapp-runtime/README.md

34 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

# @ice/miniapp-runtime
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
> Forked from [@tarojs/runtime](https://github.com/NervJS/taro/tree/next/packages/taro-runtime) with respect ❤️
> Licensed under the MIT License
> https://github.com/NervJS/taro/blob/next/LICENSE
ice.js miniapp runtime. Connect the framework (DSL) rendering mechanism to the miniapp rendering mechanism, and connect the miniapp routing and life cycle to the corresponding life cycle of the framework
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
## Core API
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
### createPageConfig()
Expose to `@ice/miniapp-loader/page` calls, called in the miniapp page file, to create a miniapp page specification object accepted by the miniapp `Page` constructor.
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
### window
An object that imitates the browser's `window` implementation on the miniapp side, and returns the browser's own `window` in the browser environment. This object is injected into the global object via Webpack's [ProvidePlugin](https://webpack.js.org/plugins/provide-plugin/) for third-party libraries to call.
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
### navigator
An object that imitates the browser's `navigator` implementation on the miniapp side, and returns the browser's own `navigator` in the browser environment. This object is injected into the global object via Webpack's [ProvidePlugin](https://webpack.js.org/plugins/provide-plugin/) for third-party libraries to call.
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
###document
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
An object that imitates the browser's `document` implementation on the miniapp side, and returns the browser's own `document` in the browser environment. This object is injected into the global object via Webpack's [ProvidePlugin](https://webpack.js.org/plugins/provide-plugin/) for third-party libraries to call.
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
### Current
Global variables exposed to developers currently have three properties:
feat: miniapp (#333) * feat(miniapp): use platform in cli to generate miniapp code * fix: lint error * feat(miniapp): add miniapp project * chore: revert example code * chore: optimize code * feat(miniapp): migrate some packages to ice * feat(miniapp): update swcOptions for miniapp * chore(example): add more pages * feat(miniapp): add miniapp runClientApp * feat(miniapp): update compile config for miniapp * feat(miniapp): support get app and routes config in compile * fix(miniapp): lint warning * feat(miniapp): support routeData/routeConfig and reduce size * fix: lint warning * fix: lint warning * feat(miniapp): support global css and page css * feat(miniapp): support css modules * feat(miniapp): support copying assets in public dir * feat(miniapp): support Link and getSearchParams * feat(miniapp): use index.ts.ejs as template * feat(miniapp): support passing params in Link * feat(miniapp): support history in miniapp * fix(miniapp): build without compiling server bundle * fix(miniapp): use getRoutesConfig * feat(miniapp): support build options like outputDir * chore(miniapp): update miniapp examples * feat(miniapp): support html tags * feat(miniapp): remove taro related code * fix(miniapp): some cases * fix(miniapp): use require.resolve to get page loader * chore(miniapp): update lock * fix(miniapp): page loader check this name * chore(miniapp): add devDependencies * chore: update index ejs template * refactor(miniapp): update multiple platforms logic in ice * chore: lock regenerator-runtime version * chore(miniapp): add ali miniapp build command * fix(ice): set default value of platform to web * fix(runtime): remove duplicated denpdencies * chore: set default value of platform to web * feat(miniapp): registerSerialization when plugin activated * test(miniapp): suit for vitest * chore(miniapp): add webpack-sources to bundles * chore: clean code * chore(miniapp): remove jest config file * fix: lint error * fix: add default value of outputDir * refactor(miniapp): remove openBrowser from logMessage * chore(miniapp): remove unnecessary ts-ignore * fix: type error * chore(miniapp): rename Adapter to adapter * chore(miniapp): update interface name * refactor: use plugins to support miniapp * chore(miniapp): update example name * fix: update dependencies * feat(miniapp): add platform check in cli * chore: update lock * fix: remove useless platform option * fix: lint warning * fix: lint warning * test: use src code in tests * chore(miniapp): remove ||= operators * fix(miniapp): exclude miniapp-runtime esm code * fix(ice-cli): update platform for build command
2022-09-23 11:11:38 +08:00
* `Current.app`, returns the current miniapp application instance, which can be used to call the miniapp specification life cycle.
* `Current.page`, returns the current miniapp page instance, which can be used to call the miniapp specification life cycle.
* `Current.router`, returns the current miniapp routing information.