使用 ionic 和 react(和电容器)创建一个 monorepo
Create a monorepo with ionic and react (and capacitor)
我了解到 Ionic 无法处理 'yarn workspace',它使用 react-app-rewired
https://github.com/ionic-team/ionic-cli/issues/4430
构建项目
按照此 post 中的建议,我使用多应用程序选项配置我的 monorepo(https://ionicframework.com/docs/cli/configuration#multi-app-projects)
为了验证项目结构,我首先尝试共享一个简单的常量。
import * as ROLES from '../../../../lib/constants'
但是当我启动时 ionic serve --project=app
遇到这个错误:
Module not found: You attempted to import ../../../../lib/constants
which falls outside of the project src/ directory. Relative imports
outside of src/ are not supported.
项目结构:
ionic.config.json
{
"defaultProject": "myProject",
"projects": {
"app": {
"name": "My First Ionic App",
"type": "react",
"root": "packages/app",
"integrations": {
"capacitor": {}
},
}
}
}
如何管理共享文件和组件?
谢谢
好的,几天后。我有使用 Ionic & Capacitor 构建 monorepo 的答案!
1 - 使用 Yarn 工作区构建你的 monorepo
本教程简单明了:https://jibin.tech/monorepo-with-create-react-app/
然后你将使用 react-app-rewired
而不是 'react-scripts` 了
2 - 然后不要使用 ionic serve
,即使用 react-scripts
react-app-rewired start
3 - 和电容器!
命令 ionic cap run
也使用 react-scripts
然后你必须找到一个替代
答案在这里https://capacitorjs.com/docs/guides/live-reload:不要使用 Ionic CLI
Capacitor supports CLIs with live reload capability.
Within capacitor.config.json, create a server entry then configure the url field
using the local web server’s IP address and port:
"server": { "url": "http://192.168.1.68:8100", "cleartext": true
},
奖励:我创建了一个脚本来自动更新 capacitor.config.json
https://gist.github.com/damienromito/e6b3930ffde4c7240f109d1de69febb5
我了解到 Ionic 无法处理 'yarn workspace',它使用 react-app-rewired
https://github.com/ionic-team/ionic-cli/issues/4430
按照此 post 中的建议,我使用多应用程序选项配置我的 monorepo(https://ionicframework.com/docs/cli/configuration#multi-app-projects)
为了验证项目结构,我首先尝试共享一个简单的常量。
import * as ROLES from '../../../../lib/constants'
但是当我启动时 ionic serve --project=app
遇到这个错误:
Module not found: You attempted to import ../../../../lib/constants which falls outside of the project src/ directory. Relative imports outside of src/ are not supported.
项目结构:
ionic.config.json
{
"defaultProject": "myProject",
"projects": {
"app": {
"name": "My First Ionic App",
"type": "react",
"root": "packages/app",
"integrations": {
"capacitor": {}
},
}
}
}
如何管理共享文件和组件?
谢谢
好的,几天后。我有使用 Ionic & Capacitor 构建 monorepo 的答案!
1 - 使用 Yarn 工作区构建你的 monorepo
本教程简单明了:https://jibin.tech/monorepo-with-create-react-app/
然后你将使用 react-app-rewired
而不是 'react-scripts` 了
2 - 然后不要使用 ionic serve
,即使用 react-scripts
react-app-rewired start
3 - 和电容器!
命令 ionic cap run
也使用 react-scripts
然后你必须找到一个替代
答案在这里https://capacitorjs.com/docs/guides/live-reload:不要使用 Ionic CLI
Capacitor supports CLIs with live reload capability.
Within capacitor.config.json, create a server entry then configure the url field using the local web server’s IP address and port:
"server": { "url": "http://192.168.1.68:8100", "cleartext": true },
奖励:我创建了一个脚本来自动更新 capacitor.config.json https://gist.github.com/damienromito/e6b3930ffde4c7240f109d1de69febb5