现在有能够完全脱离 node.js 和 npm 的跨平台前端开发的解决方案吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
XanderChen
V2EX    Node.js

现在有能够完全脱离 node.js 和 npm 的跨平台前端开发的解决方案吗?

  •  
  •   XanderChen 2020-05-07 00:01:28 +08:00 10107 次点击
    这是一个创建于 1985 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉处处都是 npm 。

    啥玩意儿都得 npm install 一下。

    有没有能够完全脱离 npm 和 nodejs 的前端开发方案?

    49 条回复    2020-07-28 09:11:30 +08:00
    airyland
        1
    airyland  
       2020-05-07 00:07:43 +08:00
    你可以用原生 js 或者 jQuery 配合手动刷新页面的方式,也就是回到古老的刀耕火种的方式。
    nerocc
        2
    nerocc  
       2020-05-07 03:19:12 +08:00 via Android
    Blazor + nuget
    ochatokori
        3
    ochatokori  
       2020-05-07 03:37:29 +08:00 via Android
    也不一定脱离了就只能用原生或者 jq,有不少库都可以用 script 标签引入。

    不过有什么不得不脱离 nodejs 的理由吗,这不是给自己找麻烦嘛
    lichdkimba
        4
    lichdkimba  
       2020-05-07 05:17:06 +08:00   1
    vue 不是可以<script>引用的吗
    hoyixi
        5
    hoyixi      2020-05-07 07:05:18 +08:00
    很难摆脱,因为很多库都是这么发布和管理的,除非代码你都自己写
    teawithlife
        6
    teawithlife  
       2020-05-07 07:20:29 +08:00
    可以用 yarn 啊[手动狗头]
    blless
        7
    blless  
       2020-05-07 07:23:45 +08:00 via Android
    vugu
    WildCat
        8
    WildCat  
       2020-05-07 07:52:51 +08:00
    .net
    rust
    WildCat
        9
    WildCat  
       2020-05-07 08:11:26 +08:00
    JB18CM
        10
    JB18CM  
       2020-05-07 08:29:58 +08:00
    node.js 真的是太笨重了, 哪怕是一个小工具都格外赠送一个浏览器给你.
    nannanziyu
        11
    nannanziyu  
       2020-05-07 08:31:48 +08:00 via Android
    @greatgodwei 这是没分清 electron 和 nodejs ?
    zhw2590582
        12
    zhw2590582  
       2020-05-07 08:35:26 +08:00
    这个时候 deno 就彰显优势了
    JB18CM
        13
    JB18CM  
       2020-05-07 08:39:26 +08:00
    @nannanziyu 看错了,还以为楼主说的是跨平台 UI 了.
    artyhacker
        14
    artyhacker  
       2020-05-07 08:51:10 +08:00   6
    很多新手就是这样,总觉得目前更高效的工具都是无用和麻烦的,只有从最原始的方式逐步过渡过来才能明白这些工具的意义.
    Mutoo
        15
    Mutoo  
       2020-05-07 08:54:24 +08:00
    webpack 之类的模块打包工具还不成熟的时候,twitter 推出了一个叫 bower 的工具,可以把依赖下载到本地。然后自己 <script> 到网页上,或者用 browserify 打包。
    不过后来 twitter 自己都放弃 bower 了。
    http://bower.io/
    BlackBerry999
        16
    BlackBerry999  
       2020-05-07 09:00:21 +08:00
    flutter
    huan1043269994
        18
    huan1043269994  
       2020-05-07 09:24:39 +08:00
    Flutter 走起
    exploreXin
        19
    exploreXin  
       2020-05-07 09:33:01 +08:00
    脱离实际场景讨论技术是危险的,不同的场景要用不同的技术方案,看似可有可无的习惯,长久下去,会毁了程序开发人员的技术嗅觉。
    nielinjie
        20
    nielinjie  
       2020-05-07 09:37:40 +08:00
    为啥要别的呢?不香了么?关键是要提出哪里不香,才好讨论可能的替代品 /补充品。
    dodo2012
        21
    dodo2012  
       2020-05-07 10:09:19 +08:00   1
    我最烦的是 node_modules 这玩意,随便一个项目,代码没多少,依赖一大堆,轻松几百 M
    runze
        22
    runze  
       2020-05-07 10:31:16 +08:00
    @dodo2012 #21 snowpack
    yuxizhe
        23
    yuxizhe  
       2020-05-07 12:35:45 +08:00
    flutter
    AV1
        24
    AV1  
       2020-05-07 15:28:43 +08:00
    vue+element-ui 只需引入三个文件就可以干活了。

    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>

    <div id="app">
    <el-button @click="visible = true">Button</el-button>
    <el-dialog :visible.sync="visible" title="Hello world">
    <p>Try Element</p>
    </el-dialog>
    </div>

    <script>
    new Vue({
    el: '#app',
    data: function () {
    return { visible: false }
    }
    })
    </script>
    darknoll
        25
    darknoll  
       2020-05-07 15:42:26 +08:00
    我用 cef,js 和 c++足矣
    llsquaer
        26
    llsquaer  
       2020-05-07 19:06:06 +08:00
    @DOLLOR 这样写出来源码直接暴露在外面的..学了一段时间 vue..但是他们打包过后的源码直接就看不懂了.
    ppphp
        27
    ppphp  
       2020-05-07 19:19:03 +08:00
    有的,第一步,先打开 txt
    Messiahhh
        28
    Messiahhh  
       2020-05-07 19:40:37 +08:00
    yarn install...
    w3cfed
        29
    w3cfed  
       2020-05-07 23:59:41 +08:00
    deno
    rust

    走起。
    luozic
        30
    luozic  
       2020-05-08 00:05:07 +08:00
    kotlin C# C++ 不少语言都支持跨平台开发啊。
    tyrealgray
        31
    tyrealgray  
       2020-05-08 00:40:26 +08:00
    haxe
    cmdOptionKana
        32
    cmdOptionKana  
       2020-05-08 00:55:32 +08:00
    明明主流的如 React, Vue, Bootstrap 等等,都可以完全脱离 node.js 呀。
    cmdOptionKana
        33
    cmdOptionKana  
       2020-05-08 01:00:13 +08:00
    比如 Vue 官网入门教程 https://cn.vuejs.org/v2/guide/ 一开头的安装部分,官方本来就推荐用 <script src="https://cdn.jsdelivr.net/npm/vue"></script> 并且明确说明 “安装教程给出了更多安装 Vue 的方式。请注意我们不推荐新手直接使用 vue-cli,尤其是在你还不熟悉基于 Node.js 的构建工具时”
    rb6221
        34
    rb6221  
       2020-05-08 01:04:44 +08:00
    一定程度上包管理就等于生态,所以提到前端的生态最猛的不就是 npm 么……
    wanguorui123
        35
    wanguorui123  
       2020-05-08 08:27:35 +08:00 via iPhone
    自己撸框架,类加载
    xingyuc
        36
    xingyuc  
       2020-05-08 09:28:28 +08:00
    @artyhacker 一个单页面小工具需要 npm 几十上百 m 的包,有何用?
    xingyuc
        37
    xingyuc  
       2020-05-08 09:30:35 +08:00
    @llsquaer 可以看下 33 楼,前台的东西有什么不能给看的
    weixiangzhe
        38
    weixiangzhe  
       2020-05-08 11:17:33 +08:00
    script 加 type=module 可以直接写,写写 demo 可以, 生产就不要想了
    AV1
        39
    AV1  
       2020-05-08 11:50:32 +08:00
    @xingyuc 写“小工具”用 Vanilla JS 咯,连<script src="jquery.js">都嫌多余。
    lvming6816077
        40
    lvming6816077  
       2020-05-08 14:36:04 +08:00
    最简洁也是性能最好的方法就是直接用原生 Javascript 来写,需要啥就用<script>引入,这样更可控,不像用 Npm install 会下载很多依赖的模块,导致前端资源变大。
    ccyu220
        41
    ccyu220  
       2020-05-08 16:42:22 +08:00
    @xingyuc 又不自己造轮子,又想车动起来。一个单页面几十上百 M 的包,你就不能先去看看你需要的包和包自身依赖吗。
    JayLin1011
        42
    JayLin1011  
       2020-05-08 17:39:44 +08:00
    目前有,感太不切,竟有很多用的子,然 deno 未可期,好一些。
    james122333
        43
    james122333  
       2020-05-08 20:56:12 +08:00
    有阿 只不过很多东西你得自己来而已 但这样自订也高 放弃 Windows 深入 Unix 哲学吧 (滑稽)
    xingyuc
        44
    xingyuc  
       2020-05-09 16:12:25 +08:00
    @ccyu220 我只需要 dist 下几个文件 就可以了……用得着另外那几百 m 么
    xingyuc
        45
    xingyuc  
       2020-05-09 16:17:16 +08:00
    @DOLLOR 666,长见识了
    artyhacker
        46
    artyhacker  
       2020-05-11 08:46:57 +08:00
    @xingyuc 这些包不是你自己装的?你要觉得太大可以选择不用啊,从头自己造轮子呗. 你写个 word 和 ppt 还得装好几个 G 呢.
    libook
        47
    libook  
       2020-05-11 12:06:02 +08:00
    工具是为需求服务的,不是用来制造麻烦的,如果你用工具感觉还不如不用,那就没必要硬上工具。

    比如需求就是做一个表单页面,没有复杂的交互和数据流,这样完全没必要用任何框架和库,原生 JS 、CSS 、HTML 就够了。

    技术选型不是选归宿,你在一个地方用 NPM 不爽,但在另一个地方可能不用 NPM 会不爽;所以用上 NPM 也不是说任何情况下都必须用 NPM,不用 NPM 也不是说任何情况下都必须不用 NPM,反正老板按照出的活给钱,不管三七二十一,能快速出活就香。
    genal
        48
    genal  
       2020-07-27 21:02:52 +08:00
    @xingyuc test
    xingyuc
        49
    xingyuc  
       2020-07-28 09:11:30 +08:00
    @genal
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2902 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 14:28 PVG 22:28 LAX 07:28 JFK 10:28
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86