• 请不要在回答技术问题时复制粘贴 AI 生成的内容
youla
V2EX  ›  程序员

不超过 150KB 的网页项目,除了 jquery 没别的办法了吗?

  •  2
     
  •   youla · Dec 19, 2020 · 15457 views
    This topic created in 2016 days ago, the information mentioned may be changed or developed.

    做路由器的管理界面,生产的模块可以用于存放网页的区域,容量只有 150KB 。

    关键还要好看。。

    Supplement 1  ·  Dec 19, 2020

    又上下翻了几个来回,周末有得玩了~~

    Supplement 2  ·  Dec 20, 2020

    都玩不过来了~~又抚摸键盘到凌晨,这几天本来没什么事做,现在有做不完的事了!

    我要加油学学学,成为大神不是梦(三和)!!!凌晨安了 💓

    Supplement 3  ·  Dec 21, 2020

    什么时候做web用nginx都要是常识了?不就对着文档搜着教程配置吗??怎么还搞得那么厉害一样??

    我一直用的iis,不需要nginx,没什么问题吧???然而这个模块里是定制的HTTP Server,我也改动不了,也不想去麻烦别人公司的。。

    Supplement 4  ·  Dec 21, 2020

    上面的回复是针对设置gz响应头的

    Supplement 5  ·  Dec 21, 2020

    大家说的我基本都跑了hello, world!有的可以打包很小的,貌似要ts写,奈何自己不会typescript,有点小尴尬~

    决定了用pure-css写界面,其他的就原生js吧,后续可能会被一些图表之类的需求搞得很头痛!!!!

    Supplement 6  ·  Dec 21, 2020

    最后在大胆的伸一次手,有没有类似jquery,但是很小的库,因为担心ie11可能不兼容某些js写法,比如document.body.style='',例子,我一般也不这么写...

    Supplement 7  ·  Dec 21, 2020

    pure-css + zepto

    太适合萌新了......

    埋头苦干!!!

    Supplement 8  ·  Dec 23, 2020
    昨天写项目时,我终于知道我为什么要用 jquery 了,因为我想起来模块内置的 api 返回的内容是 html 格式,所以要用 jquery 操作 dom !
    134 replies    2020-12-23 14:07:30 +08:00
    1  2  
    youla
        101
    youla  
    OP
       Dec 20, 2020
    @hronro 直接存 gzip,貌似要 web 服务器也支持吧?


    @SilentDepth 我说的是#97 楼,不太理解你说的这个是什么意思
    wangxiaoaer
        102
    wangxiaoaer  
       Dec 20, 2020 via iPhone
    什么路由器,避下坑
    SilentDepth
        103
    SilentDepth  
       Dec 20, 2020
    @youla #99 我说的「路由」指的是你上面示意图里的 menu,也就是 SPA 的 navigation 。把所有子视图(子页面)都渲染好然后用 display 来控制显隐当然可以,只是在导航影响状态和视图生命周期时,你终归还是要实现一个(前端意义上的) router,那么为什么不用现成的库呢
    SilentDepth
        104
    SilentDepth  
       Dec 20, 2020
    @youla #101 你可能 block 了某个人。我的「如果路由器没有 WAN 呢」是回复那个人的
    hronro
        105
    hronro  
       Dec 20, 2020
    @youla #101
    你们资源这么紧张,还用第三方 WEB 服务器吗,我以为你们都是自己写的 HTTP 服务呢?
    第三方的 WEB 服务器,反正 NGINX 是支持的,如果你们自己写的 HTTP 服务的话,那就更简单了
    SilentDepth
        106
    SilentDepth  
       Dec 20, 2020
    @youla #101 @hronro #105
    不一定需要 server 端支持 gzip 。浏览器只看 Response headers 里有没有 Content-Encoding: gzip 。Server 端准备好这个字段,直接提供预压缩的 gzip 文件也可以实现 gzip 的效果
    youla
        107
    youla  
    OP
       Dec 20, 2020
    @hronro web 是提供模块公司写的,我周一去问问吧。


    @wangxiaoaer 你用不上,别张口闭口就是坑~~ tplink 缩水那么严重还不是照样用,就像我看到这个回复时。
    我就觉得我先得避开你这个坑~~
    mingl0280
        108
    mingl0280  
       Dec 21, 2020
    @youla 路由器里面是啥根本不重要,只要浏览器头里面有 deflate 或者 gzip 就行,你把 js 文件压缩成 gz 了以后丢给浏览器的时候只需要头里面带 gzip 就行了。
    mingl0280
        109
    mingl0280  
       Dec 21, 2020
    @Pi7bo1 我也看傻了,这楼主基本没有常识啊……
    youla
        110
    youla  
    OP
       Dec 21, 2020
    @mingl0280 我大概知道 web 服务器可能要设置响应头,这就没常识了???
    youla
        111
    youla  
    OP
       Dec 21, 2020
    @mingl0280 你以为的尝试是什么??我会 perl 我说你不会 perl 就是没常识??
    youla
        112
    youla  
    OP
       Dec 21, 2020
    @mingl0280 测试了,没响应头就是下载,还路由器里面是啥不重要,你能不能测试过再来说话啊
    dfourc
        113
    dfourc  
       Dec 21, 2020
    @mingl0280 #109 对于 web 开发,http 协议和传输压缩,nginx 配置就是常识不要和他争论,他可以一堆问号乱七八糟的整死你,
    youla
        114
    youla  
    OP
       Dec 21, 2020
    @galikeoy 关键我不用 nginx,我一般用 iis 你是不是又觉得我一堆问号整死你了??难道上面说对了??
    lff0305
        115
    lff0305  
       Dec 21, 2020
    话说路由器的管理界面这类东西不需要追求什么 UI 吧, 简单易用兼容性强不就行了?

    几年前做过类似的东西, 被客户内网的 Win Server 2003 自带的 IE 给坑了
    KuroNekoFan
        116
    KuroNekoFan  
       Dec 21, 2020 via iPhone
    楼主其实问题描述的还比较明确,估计后来被网友的回复整懵了
    zjsxwc
        117
    zjsxwc  
       Dec 21, 2020
    最多存放 150k,也就大概 3500 行代码的样子,
    建议不用图片,用原生 js 功能,这样就不依赖三方库了,
    三方库太大了,vue1.x 要 70k 、jquery 要 80k,引入后就没地方写业务代码了。
    SilentDepth
        118
    SilentDepth  
       Dec 21, 2020
    @zjsxwc #117 gzip 啊,压缩后也就 20 KB 。少量小尺寸图片也还凑合,不过对于路由器后台确实不太刚需
    KouShuiYu
        119
    KouShuiYu  
       Dec 21, 2020
    不用 ui 库就行了
    SilentDepth
        120
    SilentDepth  
       Dec 21, 2020
    针对主楼的第 6 条附言:jQuery 语法的小体积实现,就 Zepto 吧,gzip 后不到 10 KB 。不过目标是 IE11 的话,没什么 JS 写法的问题吧,不是有 Babel 吗。如果担心 Webpack 是负担,推荐 Parcel 。
    youla
        121
    youla  
    OP
       Dec 21, 2020
    @SilentDepth 我记得 ie11 貌似不能 style.xxx ,要用 style.setProp..或者 setAttribute,还有 document.body.append(),要写 appendChild,你回答这么多我很谢谢你为我节省了不少时间,马上去看看 zepto~~,最后说一句:"5LiN6L+H5bCx566X5L2g6ZSu55uY5pWy54OC5oiR5Lmf5LiN5Lya5ZKM5L2g5LiK5bqK55qELg=="
    SilentDepth
        122
    SilentDepth  
       Dec 21, 2020
    @youla #121
    IE11 支持这种写法。可能部分属性不支持 inline 声明,但 DOM API 的兼容可以交给 jQuery/Zepto,开发者几乎不需要操心。
    另外注意 Zepto 支持到 IE10,再低的恐怕你还是要考虑 jQuery 。以及如果你确实不需要支持低版本 IE,私以为使用现代框架是更好的选择……当然,具体还要看你的需求和限制。
    TomatoYuyuko
        123
    TomatoYuyuko  
       Dec 21, 2020
    youla
        124
    youla  
    OP
       Dec 21, 2020
    @TomatoYuyuko 这些我都会~~有点小尴尬~~主要还是懒
    zjsxwc
        125
    zjsxwc  
       Dec 21, 2020
    @SilentDepth

    gzip 这个传输 size 就别说了,毕竟楼主自己都说了 http sever 模块不是他自己能控制的,楼主描述的需求是本地存储 size 最大 150k 。
    youla
        126
    youla  
    OP
       Dec 21, 2020
    @zjsxwc 看到这个回复,我好感动,国内这些个合作方,添个 http 头我本来是不想去说的,但我还是想尝试下,结果人家直接说起采购的事情了,这不就是程序里面添几个字符串吗,还说要大批量采购才能给我们做,恶心!!!
    youla
        127
    youla  
    OP
       Dec 21, 2020
    @zjsxwc 我本来预想到的也就是这个结果!所以看到说 gzip 压缩的我就蛋疼
    lloovve
        128
    lloovve  
       Dec 21, 2020 via iPhone
    什么芯片?很多都开发 sdk 带界面,如果是 8266 那种自己撸一下也不复杂
    mingl0280
        129
    mingl0280  
       Dec 23, 2020
    @youla 你的 http server 模块到底能不能设置 header ?不能设置 header 发到客户端的 header 是默认生成的还是根本没有?如果根本没有你可以直接在 gz 文件头前加上 http headers 作为整体发送到客户端啊!
    youla
        130
    youla  
    OP
       Dec 23, 2020
    @mingl0280 header 肯定有默认的,只是改就完全改不了,写在程序里的
    youla
        131
    youla  
    OP
       Dec 23, 2020
    @mingl0280 有时候不在一个频道上就以为怎么样怎么样可以~扎心
    mingl0280
        132
    mingl0280  
       Dec 23, 2020
    @youla 你可以自己写个 http server 然后把原版的干掉。具体的话 tinyhttpd 就可以整,然后你想干啥干啥咯……
    youla
        133
    youla  
    OP
       Dec 23, 2020
    @mingl0280 不是一个软件,没有操作系统的。
    youla
        134
    youla  
    OP
       Dec 23, 2020
    @mingl0280 确实我以前也以为 web 服务器就必须要 LAMP,LNMP 之类的。不过像这种开发模块完全是自己实现的一套嵌入式程序,想改不存在的,技术含量没多少,就是代码看不到~~~~
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3064 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 167ms · UTC 08:21 · PVG 16:21 · LAX 01:21 · JFK 04:21
    ♥ Do have faith in what you're doing.