(离子/电容器)-> 没有在 Android 设备上构建的 TypeScript 源映射

Posted

技术标签:

【中文标题】(离子/电容器)-> 没有在 Android 设备上构建的 TypeScript 源映射【英文标题】:(Ionic / Capacitor) --> No TypeScript source-map with build on Android device 【发布时间】:2020-01-03 13:06:17 【问题描述】:

我目前正在开发宽度 Ionic4 和电容器的项目。

我想在智能手机 (android) 上构建我的项目时,获取源映射文件“.ts”。 目前,我只有源映射文件“.scss”和“.html”。

这是我尝试过的所有构建测试

package.json

"scripts": 

   "android": "npx cap copy && npx cap open android", // And sync if necessary


   "build_1: "ng build && npm run android",
   "build_2: "ng build --sourceMap && npm run android",

   "build_3: "ionic build && npm run android",
   "build_4: "ionic build --source-map && npm run android",

我也试过添加这个

"config": 
   "ionic_generate_source_map": "true",
   "ionic_source_map_type": "inline-source-map" // Or eval-source-map

然后,找不到解决办法,我尝试了 webpack。

内部package.json

"config": 
   "ionic_webpack": "./webpack.config.js"

内部 webpack.config.js

const process = require('process');
const useDefaultConfig = require('@ionic/app-scripts/config/webpack.config.js');

const env = process.env.IONIC_ENV;

if (env === 'dev' || env === 'development') 
   useDefaultConfig[env].devtool = 'inline-source-map';


module.exports = () => useDefaultConfig;

然后,编译完成后,我使用 Android Studio 启动项目。

我使用 Chrome inspect 来检查源代码,我只得到“html”和“scss”文件的源代码,而不是“TypeScript”。

有人有什么神奇的想法吗?

配置信息

离子:

离子 CLI:5.2.4 离子框架:@ionic/angular 4.7.4 @angular-devkit/build-angular : 0.13.9 @angular-devkit/schematics : 7.3.9 @angular/cli : 7.3.9 @ionic/angular-toolkit : 1.4.1

电容器:

电容器 CLI:1.1.1 @capacitor/核心:1.1.1

科尔多瓦:

Cordova CLI:9.0.0 (cordova-lib@9.0.1) Cordova 平台:无 Cordova 插件:没有列入白名单的插件(总共 0 个插件)

实用程序:

cordova-res:未安装 本机运行:0.2.7

系统:

Android SDK 工具:26.1.1 (C:\Users\xxxxx\AppData\Local\Android\Sdk) NodeJS : v10.15.3 (C:\Program Files\nodejs\node.exe) npm : 6.10.3 操作系统:Windows 10

tsconfig.json

...
"lib": ["dom", "es6"],
"module": "es6",
"target": "es6",
"sourceMap": true
...

【问题讨论】:

【参考方案1】:

我找到了解决问题的方法。

我使用命令 npm run build_rpackage.json

中定义
scripts: 
    "build_r": "ionic capacitor run android --source-map --livereload"

下面允许我访问源地图

【讨论】:

以上是关于(离子/电容器)-> 没有在 Android 设备上构建的 TypeScript 源映射的主要内容,如果未能解决你的问题,请参考以下文章

离子/电容器 - PushNotiifcations - Android - “通知” + “数据” 消息

Android 中的离子 5/电容器 ERR_CLEARTEXT_NOT_PERMITTED

无法将离子与电容器集成,npm 抛出错误

android live设备上的离子和电容器的CORS问题

离子电容器构建找不到符号 android.support.v4.app.ActivityCompat

电容iOS同步失败,离子