koot
koot copied to clipboard
Koot是基于React和Koa的WEB全栈技术解决方案。
SSR服务器优化想法
现状 - 每次请求 `vm.runInContext()` 一次 SSR 代码 - 占用大量内存 - 无法实现组件渲染缓存 - 目的:每次请求的 store 独立 新想法 - 所有代码打包到一起 - 每次请求在 KOA 中间件上分配一个 ID - 每次请求的 store 为单独 store 下对应 ID...
错误信息:Uncaught Error: Module build failed (from ./node_modules/thread-loader/dist/cjs.js): Thread Loader (Worker 1)
``` PM2 error: (node:14700) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'writable' of undefined at PubSocket.send (C:\Projects\@koot\_next\packages\koot\node_modules\pm2-axon\lib\sockets\pub.js:47:14) at EventEmitter. (C:\Projects\@koot\_next\packages\koot\node_modules\pm2\lib\Daemon.js:445:14) at EventEmitter.emit (C:\Projects\@koot\_next\packages\koot\node_modules\eventemitter2\lib\eventemitter2.js:330:22) at Object.console. [as log] (C:\Projects\@koot\_next\packages\koot\node_modules\pm2\lib\Utility.js:114:17) at C:\Projects\@koot\_next\packages\koot\bin\dev.js:640:21 at C:\Projects\@koot\_next\packages\koot\node_modules\pm2\lib\API.js:187:16...
向根层传入对象
- [ ] client - [ ] `store` - [ ] `history` - [ ] `localeId` - [ ] `locales` - [ ] `styles` - [ ] server - [...
`service-worker` API 可考虑使用 Workbox 的高级封装 : https://developers.google.com/web/tools/workbox/ - 重做 `pwa` 配置 - 重做 `service-worker` 的生成机制 - 使用 webpack 插件生成 (优势: 其他插件可以处理生成的文件)
``` module.exports = { name: 'Awesome App', // 需要和语言包名完整匹配 // 默认语种为语言包配置的第一项 name: { 'en': 'Awesome App', 'zh-CN': '好棒的 App', 'zh-TW': '超好的 App', }, } ``` 功能扩展:自动生成 `manifest.json` 时考虑不同语言的名称
提供时,清理 `node_modules/.cache` 另外,`koot-dev` 的 DLL 做缓存 - DLL 文件名 -> `.dll.[dm5].js` - md5 为 DLL 所有包名和版本号的综合
## Update 2020/6/9 统一为 SAFEGUARD 能力 - 检查 _Koot_ App 设置相关,目前已有: - `target: 'electron'` - 是否安装了 `koot-electron` - 检查 `package.json`、Lock 文件和已安装的包的版本的匹配性