tarojs-plugin-ssr
tarojs-plugin-ssr copied to clipboard
让 Taro H5 支持 Pre-rendering、SSR 和 ISR,极致的首屏速度🚀,利于 SEO🔍
``` ./src/app.ts Attempted import error: 'setTabBarItem' is not exported from 'tarojs-plugin-platform-nextjs/taro' (imported as 'setTabBarItem'). ./src/app.ts Attempted import error: 'showTabBar' is not exported from 'tarojs-plugin-platform-nextjs/taro' (imported as 'showTabBar'). .... ```
Taro 配置 postcss 相关插件的文档链接:https://taro-docs.jd.com/taro/docs/config-detail#h5postcss
目前项目通过 babel 插件在 Next.js 编译时适配 Taro 代码,导致 Next.js 在编译时无法使用 SWC 来提升编译速度。现在 SWC 已经支持插件,可以将这些 babel 插件转为 SWC 插件,让 Next.js 能够使用 SWC 来加速编译。 SWC 文档:https://swc.rs/docs/plugin/ecmascript/getting-started Next.js 文档:https://nextjs.org/docs/advanced-features/compiler#swc-plugins-experimental

在 `tests/e2e` 增加 e2e 测试,使用 playwright 作为 e2e 测试框架。测试流程为: 1. 调用插件,将项目编译到同路径的 `dist` 目录下 2. 启动 next.js 项目运行编写的测试用例 CI 中自动执行测试。
添加了样式之后就报错了,报错信息如下 pages/index/index.jsx 如下 pages/index/index.module.less 如下
Next.js 是一个非常稳定的项目,且总会保持向后兼容。所以我在开发这个插件时,将 Next.js 作为 `peerDependencies`,并设置了非常宽松的版本要求 `"next": ">=11.1.4"`。 对于 Taro,由于该插件只强依赖 Taro 的接口实现,所以插件未对用户使用的 Taro 版本有任何要求。 这样可以带来这样的好处,用户可以自行选择 Next.js 的版本,升级到某个版本来使用新的功能,解决一些 bug。 但是随着项目的持续,这也会带来这样的问题。 1. Next.js 的一些周边库,例如 `next-with-less` 并不会保持向后兼容。 2. Next.js 的 React 版本要求可能与 Taro 的不一致。...