javascript - 前端开发人员如何捆绑和缩小文件?

标签 javascript css minify

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

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

您使用什么类型的流程或工具来缩小和捆绑资源?

我见过为此而存在的 grunt 插件,但我发现文档非常神奇,而且我仍然不清楚它们是如何工作的。

具体来说,该工具是否:

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

2)开发和发布有不同的模式,还是该工具仅在元素发布时运行?

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

谢谢。

最佳答案

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

您配置 grunt 任务,例如 grunt-contrib-uglifygrunt-contrib-copy ,并将这些任务放在 grunt-contrib-watch 下任务。让 grunt watch 任务监视您修改的文件,每次检测到更改时,都会自动生成这些 .min 文件。

这些构建工具对您的应用程序没有影响,它们在提供文件之前运行。您认为有一种简单的方法可以做到这一点是正确的。我建议你看看grunt getting started ,一个sample gruntfile ,或使用 grunt - here's mine 的元素,它会按照您的要求进行缩小。克隆我的存储库,运行 sudo npm install,然后运行 ​​sudo grunt。我的元素中没有设置 watch,但 grunt 有很好的文档记录。

关于javascript - 前端开发人员如何捆绑和缩小文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29858721/

相关文章:

html - z-index 与静态元素冲突

javascript - 一个应用程序中不同html中的不同合并和缩小的js文件

javascript - 如何从 sourcemap 中获取原始行号和符号

Javascript 下拉菜单

javascript - 我怎样才能让机器人工作?

javascript - 使用 vue-multiselect 作为 laravel 的输入字段

javascript - DOM、JavaScript 和 CSS 的文档

css - 垂直居中和拉伸(stretch)行导向的 Flexbox

javascript - 有没有一种通用的方法可以像css的@import一样导入javascript文件?

javascript - 扩展 Accordion 列表项以保留在 flex 列中