You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

纯JS构建Capacitor应用引入EmmAppConfig插件无法启动问题排查

问题原因

你引入的@ionic-native/emm-app-config/ngx是Angular框架专属的适配版本,依赖Angular的注入器、NgModule等核心API,你的项目是纯JavaScript实现,没有Angular运行环境,引入该模块后会直接抛出未定义相关错误,导致整个JS逻辑执行中断,所以不会触发启动日志。

解决步骤

  1. 修改导入路径,删除路径末尾的/ngx后缀,非Angular项目直接导入插件根模块即可:
import { EmmAppConfig } from '@ionic-native/emm-app-config';
  1. 非Angular环境下不需要对EmmAppConfig做注入操作,直接调用其静态方法即可,你现有注释的await EmmAppConfig.getValue("z_number")调用逻辑本身是正确的,取消注释即可使用。
  2. 确认插件已经同步到安卓项目:每次安装新的Cordova插件后,都需要执行npx cap sync android命令,把原生插件代码同步到Capacitor的安卓工程中,否则调用插件方法会报原生实现不存在的错误。
  3. (可选)如果调整后仍有问题,可以使用Chrome远程调试安卓WebView,查看控制台的具体报错信息,快速定位问题。

额外优化建议

你当前Filesystem.writeFile的路径写死了绝对路径,建议改用Capacitor官方提供的Directory枚举适配不同设备的存储规则,避免不同安卓版本的权限问题:

let file = await Filesystem.writeFile({
    path: `z_number/${name}.txt`,
    data: data,
    directory: Directory.ExternalStorage, // 对应公共外部存储路径
    recursive: true,
    encoding: Encoding.UTF8
});

内容的提问来源于stack exchange,提问作者Key Va

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:24:10