前端开发人员如何打包和缩小文件?

How do front end devs bundle and minify files?

在纯前端应用中缩小和捆绑 js/css 的最佳做法是什么,这些工具如何工作?

我知道如何使用 .NET/Java/LAMP/etc 等服务器端应用程序完成此操作。但是现在用 ember 或 angular 构建的纯前端项目、SPA 项目或后端项目呢?假设您的整个项目由 HTML/css/js 组成,它与其他地方的 RESTful 服务接口。

你使用什么样的过程或工具来缩小和捆绑资源?

我已经看到 g运行t 插件为此存在,但我发现文档非常神奇,但我仍然不清楚它们是如何工作的。

具体来说,工具:

1) 将 src="/js/a.js",src="/js/b.js" 替换为 src="/js/bundle-a+b.min.js"? (和 css 一样?)在源文件 html 中?

2) dev 和 release 有不同的模式,还是项目发布时只有 运行 工具?

或者资源请求是否完全由 js 工具管理并且 js/css 文件必须通过库函数请求?在这种情况下,延迟不会很明显吗?

谢谢。

通过使用构建工具,前端开发人员可以缩小 javascript、css,甚至可以在开发时自动缩小图像和 html 文件。最常见的是 g运行t,紧随其后的是 gulp。

您配置 g运行t 个任务,例如 grunt-contrib-uglify and grunt-contrib-copy, and put those tasks under a grunt-contrib-watch 个任务。让 g运行t watch 任务监视您修改的文件,每次检测到更改时,都会自动生成这些 .min 文件。

这些构建工具对您的应用程序没有影响,它们 运行 在文件被提供之前。您假设有一种简单的方法可以做到这一点是正确的。我建议您查看 grunt getting started, a sample gruntfile, or a project that uses grunt - here's mine,它会按照您的要求进行缩小。克隆我的 repo,运行 sudo npm install,然后 sudo g运行t。我没有在我的项目中设置手表,但是 g运行t 有很好的记录。