Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在生产环境中调试丑陋的javascript_Javascript_Angularjs_Gruntjs_Grunt Contrib Uglify_Compression - Fatal编程技术网

在生产环境中调试丑陋的javascript

在生产环境中调试丑陋的javascript,javascript,angularjs,gruntjs,grunt-contrib-uglify,compression,Javascript,Angularjs,Gruntjs,Grunt Contrib Uglify,Compression,我对AngularJS和Grunt不熟悉。我在GrunFile.js中为开发人员和生产人员设置了两个grunt任务。对于生产,我正在丑化&将许多js文件合并成一个 如果出现任何问题,我需要一些关于如何在生产中调试丑陋的javascript代码的指导/提示。我试着用谷歌搜索询问我的同事,但没有任何帮助,因此我的问题是堆栈溢出 是否有一种方法可以在生产过程中动态取消不合格脚本,以调试或 某些配置,用于切换使用未压缩文件进行调试,并在作业完成后压缩文件 你们给了我一些惊人的方法。谢谢 如果还有其他方法

我对AngularJS和Grunt不熟悉。我在GrunFile.js中为开发人员和生产人员设置了两个grunt任务。对于生产,我正在丑化&将许多js文件合并成一个

如果出现任何问题,我需要一些关于如何在生产中调试丑陋的javascript代码的指导/提示。我试着用谷歌搜索询问我的同事,但没有任何帮助,因此我的问题是堆栈溢出

是否有一种方法可以在生产过程中动态取消不合格脚本,以调试 某些配置,用于切换使用未压缩文件进行调试,并在作业完成后压缩文件

你们给了我一些惊人的方法。谢谢


如果还有其他方法,请分享

不要在没有调试的情况下调试缩小的代码。如果你不这样做,你会发疯的。另外,你不能重建代码,而不是尝试修复缩小的代码吗?

我使用Chrome,但我确信FF有一个类似的工具:

脚本面板底部的小括号按钮可以即时美化。无论代码是粗略的还是完全缩小的,都可以工作


这是quick-n-dirty的一个很好的解决方案,但如果依赖它,您将遇到问题。建议使用源地图。请参阅@Kosch的答案,以获得一篇像样的评论。有趣的是,我们在网站上发布了相同的链接

一些涉及Chrome pretty print、源地图等的想法。另一种选择可能是,如果生产系统认为您是内部人员,那么它可以实际提供原始JS源文件,例如,通过一些特殊的cookie或HTTP头或客户端源IP范围。太棒了!谢谢你的链接,贾蒙德。”生产系统提供原始JS源文件,如果它认识到你是一个内部人员”-这就是我想要实现的。你能告诉我如何使用“特殊cookie或HTTP头来加载原始js文件”或者一些指向用例的链接吗。同时,我还将寻找方法来实现它。我没有在服务器上重建的选项。源地图看起来像我正在寻找的东西。我会调查的。谢谢你不一定需要在服务器上构建你的生产代码,事实上你不需要这样做,只要把它放在那里就行了。是的,我确实在我的开发机器上用grunt任务尝试过,把丑陋的文件替换成原始文件。但在服务器上,只部署了目标文件夹下的文件,而grunt并没有与之打包。我使用了grunt配置中的sourceMaps,它工作起来很有魅力。它只在firefox中逐行调试,就像在chrome中一样,它跳过了几行。{}美化按钮:D哈哈!一直以来,我都在使用chrome开发工具进行调试。有趣的是,我从来没有为那个按钮烦恼过。现在我知道了:DI有一次遇到了编码阻塞,只是在修补。。。我真的认为它会对行\列显示进行某种切换,然后它就这样做了:D