如果不使用 node npm 仅在 index.html 构建一个简单的 web 应用, 是否可行?

2023-02-27 19:31:18 +08:00
 ninvfeng2020
3212 次点击
所在节点    程序员
45 条回复
retrocode
2023-02-27 20:32:14 +08:00
时代的眼泪呦
DOLLOR
2023-02-27 20:32:35 +08:00
<h4>示例:手撸一个本地视频播放器,不用 node 、npm</h4>
<br>
<input type="file" accept="video/*">
<br>
<video controls></video>
<script>
void (function () {
const fileEle = document.querySelector('input');
const videoEle = document.querySelector('video');

fileEle.onchange = () => {
const file = fileEle.files[0];
const videoUrl = URL.createObjectURL(file);
videoEle.src = videoUrl;
videoEle.oncanplaythrough = () => {
videoEle.play();
URL.revokeObjectURL(videoUrl);
};
};
})();
</script>
duke807
2023-02-27 20:36:02 +08:00
@DOLLOR

本地 file:// 有很多限制,譬如写 pwa 程序,存储 indexed db ,还有很多其它的限制。。。

又譬如测试 cgi 的 api 接口,通过 web 局域网上传下载文件之类的。。。

busybox 内置的 httpd 甚至可以用于生产环境

当然,能直接 file:// 没问题的时候,当然是直接把 html 文件拖拽到浏览器。。。
xiangyuecn
2023-02-27 20:40:58 +08:00
最低配置,只需要一个 notepad 就够了😁

欢迎使用 HTML5 网页版 ACME 客户端 https://xiangyuecn.gitee.io/acme-html-web-browser-client/ACME-HTML-Web-Browser-Client.html

本网页客户端(仅一个静态 HTML 网页文件)用于:向 Let's Encrypt 、ZeroSSL 等支持 ACME 协议的证书颁发机构,免费申请获得用于 HTTPS 的 SSL/TLS 域名证书( RSA 、ECC/ECDSA ),支持多域名和通配符泛域名;只需在现代浏览器上操作即可获得 PEM 格式纯文本的域名证书,不依赖操作系统环境( Windows 、macOS 都能用),无需下载和安装软件,无需注册登录,纯手动操作,只专注于申请获得证书这一件事,简单易用,非常适用于希望手动快捷申请获得证书的使用场景。

本网页客户端仅一个静态 HTML 文件,不依赖其他任何文件;因此可以直接保存到你本地,即可通过浏览器打开。
cmdOptionKana
2023-02-27 20:44:33 +08:00
@ninvfeng2020 你要是希望用主流技术,就不要抗拒 npm, webpack 那一堆东西,因为那些就是主流,而完全脱离 npm 取用 vue 等技术,这种玩法已经不是主流了。

因此,你想清楚你要的是主流还是简单方便,如果重点是简单方便,真没必要用 vue 那些,类似 V 站这样的复杂度,用 jquery 方便极了,vue 带来不了任何好处。
learnshare
2023-02-27 20:45:33 +08:00
前端始于 npm ?
ninvfeng2020
2023-02-27 21:21:27 +08:00
并没有要回到原始时代的意思, 像 vue, tailwind css, axios 等主流的库都是有提供 cdn 的使用方式, 如果在一些相对简单场景下如果用一个 html 能完成, 然后开发部署比用 npm run 更简单, 那我觉得还是可以去探索一下这种方式
Pastsong
2023-02-27 21:26:30 +08:00
10 年前的前端不都是抄起一个 index.html (更有可能是 index.php )就开始搞的 那有什么工程化的东西
AyaseEri
2023-02-27 21:55:40 +08:00
偷偷告诉你,只要你建好文件夹,vscode 有个 server 插件,你连 nginx 都不需要就能开始搞开发了。
然后祝你好运。
Hanggi
2023-02-27 22:00:09 +08:00
Node.js 出来之前就是这么做的呀?
vruzo
2023-02-27 22:44:10 +08:00
冒昧问一下,楼主几年经验前端的
HugoChao
2023-02-27 22:45:33 +08:00
以前都这么干啊,但是经过无数人的验证,还是 node 下开发好
zinete
2023-02-27 22:52:34 +08:00
一看你就没有用 PS 切过图
zhensjoke
2023-02-27 22:53:59 +08:00
我刚学那会 html 用记事本都可以撸。
ninvfeng2020
2023-02-27 23:07:52 +08:00
@vruzo 多年 PHP, 前端写的不多
jeffwcx
2023-02-27 23:09:02 +08:00
我大学的时候就是这么干的呀,那时候就是 jQuery ,还写了一些 widget ,后面才慢慢有 node 的。我只想说,那时候真的乱来
cyitao
2023-02-27 23:14:28 +08:00
小页面随便怎么写,上规模的应用必须上全套。如果没有打包的过程,代码模块化程度不够,屎山就堆起来了。打包给前端带来的是 sass 、模块化、代码压缩等等一系列的功能。
molvqingtai
2023-02-27 23:51:06 +08:00
当然可以,你还可以使用 WebComponent 写原滋原味的组件化页面
HiCode
2023-02-28 00:11:26 +08:00
可行,如果想使用 vue 的话,推荐我这个 https://github.com/dongnanyanhai/vue-web-loader-2

可以在不使用前端工具(如 npm,webpack 等)的情况下,快速构建基于 Vue 的单页面应用,具有以下优点:依赖小、支持 vue 单页面组件、支持动态加载组件。
horizon
2023-02-28 09:06:20 +08:00
可是打包好后,就没 node_modules 什么事了啊 //

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/919627

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX