2016-08-02 84 views
3

我面临奇怪的Ionic2行为。 当我将我的应用程序部署到模拟器时,我可以在chrome inspect调试器中看到.ts文件sourceMap。Android设备上的Ionic 2中未显示Typescript源地图

在这两个案例中,我使用:

ionic run android 

enter image description here

另一方面,当我部署一个真正的设备上我的APK,标签“源”是与其他群体完全不同的目录,并没有参考我的.ts文件。

enter image description here

我的环境是:

  • OS X 10.11
  • 离子2 2.0.0 beta.35
  • 科尔多瓦6.3.0

该项目最初属于该项目泰德是:

ionic start biblio tutorial --v2 

ionic.config.json

{ 
    "name": "biblio", 
    "app_id": "", 
    "v2": true, 
    "typescript": true 
} 

tsconfig.json

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true 
    }, 
    "filesGlob": [ 
    "**/*.ts", 
    "!node_modules/**/*" 
    ], 
    "exclude": [ 
    "node_modules", 
    "typings/global", 
    "typings/global.d.ts" 
    ], 
    "compileOnSave": false, 
    "atom": { 
    "rewriteTsconfig": false 
    } 
} 

任何想法?

回答

3

对我来说问题是,当你在Android设备上进行远程调试时,Chrome调试器无法访问设备上的源映射文件。解决方案/解决方案是包含内联源地图。要做到这一点我:

添加下面的根项目目录

"config": { 
"ionic_bundler": "webpack", 
"ionic_source_map_type": "#inline-source-map" 
}, 

这是使的WebPack添加源到的package.json映射直列改变tsconfig.js线

"sourceMap": true, 

"sourceMap": false 

这是禁用typescript来创建源映射文件,因为这是由的WebPack。

这个改变后,一切似乎工作正常。请注意,这适用于离子2 RC_04

+0

如果你改变“sourceMap”:false它会给出错误这样的东西 –

+1

[18:05:00] ionic-app-script任务:“build” [18:05:00 ]错误:“tsconfig.json”文件必须将compilerOptions.sourceMap设置为true。欲了解更多信息,请登录 查看默认的Ionic项目tsconfig.json文件: https://github.com/driftyco/ionic2-app-base/blob/master/tsconfig.json –