6
弱鸡后端求问什么是前端工程化?
source link: https://www.v2ex.com/t/804270
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
layui 官网终于还是要下线,对于 layui 还是比较有感情的,让我这个弱鸡后端也能做出可用相对美观的前端页面,奈何在时代的洪流下最终还是要隐退了。
求问一下前端大佬,到底什么是前端工程化?
21 条回复 • 2021-09-26 20:58:09 +08:00
brucedone 18 小时 20 分钟前 4
1. 开发
统一组件和开发框架,统一语言
2. 监控
统一的监控框架体系,打点,监控告警
3. 日志
健壮且完整的日志体系
4. 协作
git flow 流程化
5. 构建
CI/CD
6. 发布
容器化
不是前端大佬,大致的流程体系根据个人经验总结
统一组件和开发框架,统一语言
2. 监控
统一的监控框架体系,打点,监控告警
3. 日志
健壮且完整的日志体系
4. 协作
git flow 流程化
5. 构建
CI/CD
6. 发布
容器化
不是前端大佬,大致的流程体系根据个人经验总结
Rwing 18 小时 15 分钟前 11
我来做个坏人,说点难听的。
为什么前端要工程化?是因为之前的前端都无法做到工程化。
举个简单的例子,如何组织一个项目下两个 js 之间的引用?这在 es6 之前都是无法做到的,后端如果某一个语言做不到两个代码文件或类的互相引用,这个语言会被骂死,都活不过 1 年。
再来一个例子,任何一个后端语言都有包的概念,这 js 之前也是没有的,如何引用一个别人的库,只能是页面上引用 js,害怕各种冲突。
所以,所谓的前端工程化,不过是把后端的东西都搬到前端来,让 js 这门语言真的像一门语言。
为什么前端要工程化?是因为之前的前端都无法做到工程化。
举个简单的例子,如何组织一个项目下两个 js 之间的引用?这在 es6 之前都是无法做到的,后端如果某一个语言做不到两个代码文件或类的互相引用,这个语言会被骂死,都活不过 1 年。
再来一个例子,任何一个后端语言都有包的概念,这 js 之前也是没有的,如何引用一个别人的库,只能是页面上引用 js,害怕各种冲突。
所以,所谓的前端工程化,不过是把后端的东西都搬到前端来,让 js 这门语言真的像一门语言。
belowfrog 17 小时 25 分钟前 1
如果有个工具,可以把 python 3 转为 python 2 的语法,或者 java 16 转为 java 8 的语法,是不是就不用考虑平台,直接写最新的语言,跑在最老的平台。
babel 就是用来干这个语言转换的,因为前端浏览器实在是版本太多,平台太多,如果有人能帮我处理代码到所有平台,那太爽了。
js 语法这么处理了,那 css(样式表)是不是也能这样,或者我发明个其他语法,比如 scss,可以写 css 写不了的语法,转成 css 。对,比如 postcss,scss,less,stylus 都是干这些的。
js,css 都可以了,图片可以统一方案么?因为图片也有这个需要,压缩,引入方式。
这一系列转换就称为工程化,webpack 有很多插件可以做这些事。
后来工程化概念扩大了,编译阶段能做的事都可以叫做工程化,比如 部署 ci,发布这些
babel 就是用来干这个语言转换的,因为前端浏览器实在是版本太多,平台太多,如果有人能帮我处理代码到所有平台,那太爽了。
js 语法这么处理了,那 css(样式表)是不是也能这样,或者我发明个其他语法,比如 scss,可以写 css 写不了的语法,转成 css 。对,比如 postcss,scss,less,stylus 都是干这些的。
js,css 都可以了,图片可以统一方案么?因为图片也有这个需要,压缩,引入方式。
这一系列转换就称为工程化,webpack 有很多插件可以做这些事。
后来工程化概念扩大了,编译阶段能做的事都可以叫做工程化,比如 部署 ci,发布这些
dqzcwxb 17 小时 23 分钟前
wanguorui123 15 小时 57 分钟前
如果前端 UI 交互越来越复杂,单纯的 JQuery 很难 Hold 住,这时候就需要系统性的对项目进行管理,这种系统性的管理就是前端工程化。
前端工程化包括:可测试,可维护,可扩展。
不需要复杂 UI 交互的项目大多数时候 JQuery 之内就能搞定,所以 layui 这类低门槛、快速开发的框架被不太会 JS 的程序员所青睐。
而 Web 端现在想做复杂的东西了,比如:复杂的组件交互,以前那些框架就不能非常好的处理各种交互上的问题了,所以就需要工程化,需要有精通 JS 相关的人去开发功能。
也就是说前端更像原生客户端程序的开发了,把原生客户端那套理论搬到 Web 端来实践。
前端工程化包括:可测试,可维护,可扩展。
不需要复杂 UI 交互的项目大多数时候 JQuery 之内就能搞定,所以 layui 这类低门槛、快速开发的框架被不太会 JS 的程序员所青睐。
而 Web 端现在想做复杂的东西了,比如:复杂的组件交互,以前那些框架就不能非常好的处理各种交互上的问题了,所以就需要工程化,需要有精通 JS 相关的人去开发功能。
也就是说前端更像原生客户端程序的开发了,把原生客户端那套理论搬到 Web 端来实践。
liuidetmks 7 小时 46 分钟前 via iPhone
采用 typescript 之类的 面向对象方法代码复用。
采用 vue 使 ui 组件化,程序员专注于业务逻辑。
通过脚本自动生成 html 页面
反例就是现在一些活不过一个星期的活动页面,
一个 html 引用一个 js,文件
采用 vue 使 ui 组件化,程序员专注于业务逻辑。
通过脚本自动生成 html 页面
反例就是现在一些活不过一个星期的活动页面,
一个 html 引用一个 js,文件
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK