【问题标题】:Javascript minify or obfuscate code before browser loads JS在浏览器加载 JS 之前,Javascript 会缩小或混淆代码
【发布时间】:2018-10-28 12:22:12
【问题描述】:

在客户端加载我的任何重要 javascript 文件之前,我需要一个解决方案来混淆或缩小我的 javascript 代码。我需要我的代码拥有所有 cmets 以供将来开发,但向我的用户加载一个缩小或混淆的版本。

我想这样做是因为我的代码被大量注释。我需要我的 cmets 以备将来更新,但我不想窥探我的 cmets,因为那是自找麻烦。谢谢!

【问题讨论】:

  • 你的意思是在运行时?为什么不在部署之前缩小文件。
  • 通常的做法是为开发保留一个纯代码版本,并创建一个将提供给浏览器的缩小版本。 Gulp 会帮助你。

标签: javascript obfuscation minify


【解决方案1】:

我推荐 Grunt 用于 JS 文件(和其他类型)的缩小和连接。

有关如何使用 grunt-contrib-uglify 集成缩小的完整详细信息。

如果您还希望连接文件并交付一个文件,请查看grunt-contrib-concat

为了加快开发速度,您还应该使用grunt-contrib-watch,它允许您监视文件的更改并运行定义的任务。

缩小的基本设置:

grunt.initConfig({
    uglify: {
        my_target: {
            files: {
                'dest/output.min.js': ['src/input1.js', 'src/input2.js']
            }
        }
    }
});

还可以查看示例 Grunt-file,您应该在其中定义所有任务。

【讨论】:

  • 感谢卡塔林!我现在要检查文档。每次我在代码中添加内容时,grunt 会自动更新输出文件吗?
  • @LogicalNonsense,是的。您可以使用 grunt-contrib-watch。我更新了我的答案。
  • 咕噜毛茸茸的。看看 Gulp,更容易配置和使用。
  • 谢谢 Jeremy,我也会看看 gulp。
猜你喜欢
  • 2012-12-09
  • 2011-01-06
  • 2018-08-13
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 2011-10-23
  • 2013-06-04
  • 1970-01-01
相关资源
最近更新 更多