从ionic应用程序(版本)中删除控制台日志



如何从ionic 2发行版应用程序中删除控制台日志?

我正在开发一款ionic 2应用程序。当我构建发布版apk并在设备上运行时,我仍然可以从chrome://inspect,并查看控制台日志。我试过删除cordova插件控制台,但这没有什么区别。

编辑:我发现了一个可以删除控制台日志的包:https://www.npmjs.com/package/remove-console-logs只是不确定如何在构建发布版时使用它来自动删除它们。请帮忙。

谢谢。

当是生产构建时,可以使用uglifyjs.config.js来删除所有控制台日志。

1。将uglifyjs.config.js从node_modules复制到您的项目文件夹中

2。在新的配置文件中,如果生产,则将标志drop_console设置为true

var isProduction = process.env.IONIC_ENV === 'prod'; 
...
compress: {
drop_console: isProduction
}

3。在package.json 中设置您的自定义配置

"config": { "ionic_uglifyjs": "uglifyjs.config.js" },

仅此而已!

如果您仍然可以连接调试器,那么它不是发布版本-听起来您可能无意中安装了调试版本或连接到了其他应用程序。

编辑;以上不一定是真的——有些实例中,您可以在发布版本中通过chrome调试js/html/css内容;特别是如果webview可调试性标志是在代码中设置的/不是由构建系统设置的。-此标志与应用程序调试标志是分离的,因此如果设置不正确,您将能够调试"发布"构建/无法调试"调试"构建-请参阅远程调试webview。编辑结束。

(注意,在安装之前,您必须签署一个发布版本)

发行版安装是否可能失败,而您仍在查看以前的调试版本?

假设你有一个发布版本,无法通过chrome inspect连接查看日志;

console.log调用仍将在发布版本中,除非您将其注释掉——并且可能以其他方式可见,例如androidtoolssdk\tools\monitor——确保它们不可见的唯一方法是注释掉。你可以使用类似的东西;

console.log = function(){} ;

在你的设备就绪功能结束时,在任何插件完成了他们可能会做的任何事情之后——尽管仍然不能100%保证,因为行为不端的第三方插件或库可能会在稍后重新分配它,然后你的调用仍然会发生——确保你需要对它们进行注释。

您是否尝试删除控制台日志?

cordova plugin rm cordova-plugin-console

然后

cordova build --release android

相关内容

  • 没有找到相关文章

最新更新