全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: kaleok

[疑问] 关于css能否写入js的问题,前端工程师普及一下

[复制链接]
 楼主| 发表于 2021-10-29 15:10:39 | 显示全部楼层
可乐呀 发表于 2021-10-28 14:07
对 css in js 和 css modules的争议没有必要。
我只是想说 如果把 css扔js里变成一个文件,那如果是webpa ...

我抵触不存在的,倒是你最后:如果说对打包工具的争议那是更没必要的,这会让前端不知道倒退多少年
才是抵触呀。。。而且是程序员行业的大多数像你这样。
我是来普及前端基础的,基础就是原生,原生不等于原始。
ES5,ES6是原生
CSS2,CSS3也是原生
html4,html5也是原生。
甚至后端PHP这么多人看不起,各种鄙视链,PHP也在更新,已经到php8了

离谱的在哪里?
离谱的在,一个行业,大多数用着很流行的框架,比如vue吧。就否定了其他的开发方式。
有多少原生开发的或者jquery开发的好东西被你们否定?
关键是,如果是开发网页,注意是网页,PC端,全局虚拟化和dom绑定开发方式到底哪个能体现性能问题?
如果是移动端,现在是手机CPU性能出现全局虚拟化优势?
文章已经说了vue的优点,当然更多的是缺点,一点都不认可?
一句倒退多少年,就把不是vue等全局虚拟化开发的前端鄙视了么?

整个互联网发展,本身就是各种争议,自成一派的。比如后端的,JAVA,PHP,.NET,PYTHON,GO,都是自己的技术架构,本来粉丝支持自己的架构无可厚非,只能说不了解其他的语言优势而已,每个语言流行起来必然有自己的优势所在。

但是你要搞清楚,普及了大半天,就是告诉你在你禁用js的情况下,html,css是完全可以独立运行的。vue等全局虚拟化,模块化开发是以 js为开发语言,不是以vue为开发语言,你要搞清楚这点,模块开发只是更像后端的面向对象开发方式,也就是打包是不必要的。
问题就是:你们会觉得不采用webpack打包的前端项目就是历史的倒退?

如果你说js为核心的APP开发跨平台, 当然是vue等框架的优势,我并不反对,并且我自己就在用。但开发方式太多种,其中就包括普通移动端网页看清楚,禁用js同样可以做移动端网页也是跨平台的。更多的dart跨平台,以及国内小程序,以及hbulder,以及cordova 等等太多方式了。
这些都不是全局虚拟化的。


关键问题在哪里?不论你是开发APP,还是网页项目,作为小公司,没有SEO本身就是自娱自乐,这是大多数小公司不愿意承认的事实。当然你可以竞价排名,或者二维码宣传,或者传统媒体广告,都是没问题的。

但是,程序员行业出现了什么问题?先谈一下后端:
比如大家总是认为java比php好,或者python才是天下第一的争论。这是程序员,但进入这论坛的可能大多数是站长,或者是小老板,他们不懂技术,但是他们可以认为就是项目使用者。

大多数项目使用者角度来说:java开发的网页,和php开发的网页,哪个更香?nginx作为服务器引擎被动调用php-fpm进程,哪个并发更大?

数据挖掘又有哪个比python简便,又有哪个有go的执行效率?

再来说前端,搞清楚:前端就是html,js,css没有其他任何技术栈了。你用的只是第三方框架而已。
作为程序员的你,工作中就看不起原生开发,看不起jquery开发,看不起一切不跟大公司一致的开发方式。但同时作为论坛访问者,你却在找各种模板,求wordpress模板,求php开发的wordpress?求disucz,求nginx?

本身一个互联网项目的价值是给使用者带来 更多的流量,你们却在wordpress博客发布鄙视一切不是vue开发的项目?
csdn够大的网站了吧。各种vue,css modules 优越性文章,有考虑过你发布的csdn就是传统网页吗?

工作是一回事,没错,拿工资就行,但作为行业从业者,多了解一下原生不是多么可耻的行为。

我想说,前端开发,本身就是为了SEO,为了UI体验。不是只有框架提供的UI一款的。。如果是设计稿的PS图,你第一步就要量尺寸,切图排版,写css。你需要vue来弄?然后webpack打包?不是互联网项目就只有小程序,就只有APP,不论你如何不认可,互联网流量大多数还是来自于搜索引擎的。


还有一点:前端工程化以后所谓打包,本身没有任何优化,并且导致项目维护性降低,以及浏览器调试功能无法直观。你可以网上搜搜一下,如果丢失vue未打包前的项目代码,只有build 后的代码在线,如何维护?只能重构了。这种例子不是不存在的。可以自己搜索一下先。


















发表于 2021-10-29 15:18:54 | 显示全部楼层
kaleok 发表于 2021-10-29 15:10
我抵触不存在的,倒是你最后:如果说对打包工具的争议那是更没必要的,这会让前端不知道倒退多少年
才是 ...


Vue 和 打包工具 有什么关系?
不打包就不能用 Vue 和 React 了?
用 jQuery就不能打包项目了?
jQuery 这个项目本来就是用 Grunt 打包的。
又有谁说歧视 jQuery 了觉得 jQuery 一无是处了?
我也没说虚拟DOM全都好吧
发表于 2021-10-29 15:19:40 | 显示全部楼层
css放入js这个根本就是一个错误的方向,程序不光是为了快吧。一直强调的是健壮,可读性维护性也是健壮的 体现。最多就是js中调用了css的class名称而已,这个和css放入js是两码事。
发表于 2021-10-29 15:21:42 | 显示全部楼层
大佬啊大佬
发表于 2021-10-29 15:21:59 | 显示全部楼层
本帖最后由 可乐呀 于 2021-10-29 15:23 编辑
可乐呀 发表于 2021-10-29 15:18
Vue 和 打包工具 有什么关系?
不打包就不能用 Vue 和 React 了?
用 jQuery就不能打包项目了?


前端发展这么多年。
gulp grunt webpack rollup esbuild snowpack vite 这么多打包工具
你确认为他们对前端发展没有任何助推作用?
说到底。用不用打包是自己的问题。
还是那句话。
Vue、React不打包也能用。
甚至浏览器环境下也可以用Babel
这是自己的问题,没有人说要你强制打包
发表于 2021-10-29 15:37:50 | 显示全部楼层
不容易啊,写这么些,这年头很少见了
发表于 2021-10-29 16:37:12 | 显示全部楼层
本帖最后由 flyqie 于 2021-10-30 00:30 编辑

萌新,非前端,现在主要写go,php不太常写了,想谈下个人对前端工程化的浅薄理解,如有错误欢迎大佬拍砖.

1.个人认为前端工程化的意义主要在于组件的复用与规范开发

2.vue react等前端框架其实个人觉得只是对前端工程化做出了一个实践方案,这并不意味着原生以及构建在原生上的jq的过时(另外,react vue等框架也是依靠原生实现的,浏览器js一禁用全部玩完).

3.在某些环境下前端工程化其实是没有必要的,例如老项目/客制化需求较多/兼容老旧浏览器等

4.webpack等前端打包工具确实解决了某些痛点(不便于分发、测试, 仿冒门槛低 等),但它也同时引入了很多问题(上线后调错难,项目源码丢失无sourcemap即GG等)

5.react不太清楚,但vue是支持不通过webpack等工具打包的,在鄙人看来vue不打包一把梭的话和写jq整个流程差不太多(荣耀路由2S也是这么玩的).

6.前后端分离其实在某种意义上来说是个好事,但是很多时候还是得上ssr(比如后台管理等,总不能一把梭全给整上前后端分离了吧,要命,这要是被人发现点啥奇怪的东西...凉凉)

7.至于css是否独立于打包后的js文件,这个个人还是觉得应该的,不然真要是出了问题需要调试或者改css,在某些情况下没办法重新打包的场景,真心头大.

8.如果说用前端工程化是追求源码安全性的话,那真的不意味着前端源码就一定安全,可能更不安全,见过好几个网站打包的时候sourcemap配置没配好导致前端源码直接暴露的了(打包可能只是一部分,上线之前运维开发都咋想的...打包出来了也不看看的吗...没必要为了调试把sourcemap直接扔线上吧),稍微好点的漏了一部分,更有甚者,全爆,极度生草.

9.另外,感觉前端后端争论的这些玩意,都太理想化了(虽然鄙人自己也在争论这些问题),真要按最后的最佳方案搞得话,没准某些项目上线前就没了....上线要紧,真有钱了再重构也不迟.
发表于 2021-10-29 17:14:22 | 显示全部楼层
大佬写那么多。辛苦了。受教了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-26 05:35 , Processed in 0.062973 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表