Nodejs技术选型:写了一个一个人独立搞定 web 网站的技术选型列表,欢迎拍砖
Nodejs技术选型:写了一个一个人独立搞定 web 网站的技术选型列表,欢迎拍砖
如何构建一个中型的 web 应用(全栈技术)
计算机界的轮子已经如此之多,我的观点是技术不转化成应用是没有价值的,本文主要挑选了一些技术,复用一些优秀的轮子,用最小的成本构建自己的 web 应用。
主要内容
界面设计
boostrap twitter 出品的响应式框架,可以快速构建优美的前端界面
material-design-lite Google 出品的Material Design 风格的前端框架
前端库 /框架
jquery 方便快捷地操纵 dom
前端构建工具
yog2 百度出品的前端构建工具,将fis3和express结合在一起
webpack 当下最火的前端构建工具
后端语言
node 用 javascript 写后端应用
后端框架
express node.js 官方推荐的 web 框架
koa express 原始团队出品,口碑很好,我并没有在实际项目中使用过
数据库
mysql 全球最流行的开源数据库,各大互联网公司都在大范围使用
mongo 时下最流行的 nosql 数据库,经过几年的发展已经很稳定了
数据库驱动
knex mysql 的 node.js 版的 sql 构建库,需要搭配mysql 的 node.js 驱动 使用
mongoose mongo 的 node.js 版的数据库驱动
代码部署
ansible 基于 ssh 的自动化部署工具,我还在摸索的阶段
云主机
ucloud 口碑不错的云服务商
阿里云 阿里巴巴旗下的云服务,号称国内最大
百度云 推荐一下自家公司的产品
CDN
七牛云 老牌云存储服务商,有免费额度
部署无脑推荐 docker,以及阿里云最近风评不太好啊。
如果是 node 后端的话,没出现 pm2 是不合理的。
界面设计 这里还有很多你想不到的库
vue 呢?
所以你这个不存在参考价值。
第一、没列全
第二、不存在对比性
最多只能说是你自己的技术栈而已。
哇,笑死我了
没看懂你这东西的意义在哪
我点进来之前还以为你要给你做出来的网站地址
身为一个写 php 的,也是感觉 node 后端没出现 pm2 是不合理的。
前端库用 jQuery,webpack 有何意义
boostrap 也需要 webpack 之类的吗?
老实说一个独立完成的项目就别整那么复杂
需要那么复杂的项目也别一个人做
自己练手就随意了
完全是在搞笑,标题可以改为“我熟悉的全栈技术”。
你这写的啥玩意
我偏爱 postgresql 胜过 mysql
大家还是多点鼓励吧。
…出了 pm2 还有 forever, 不用这两个包,启动多个 node 服务监听不同的端口号,让 nginx 做负载均衡也没问题,就是进程挂掉后的重启机制搞不定而已,等 题主做的时候就知道这些东西了
😂支持
docker 之间 always-restart 就好了, pm2 重启又不干净
尼玛,一打开就看到 bootstrap 拼写错了!
ucloud 口碑不错的云服务商
jQuery 没错,但不应该是唯一推荐吧
(mini)Awsome XX
我也觉得 docker 是一个用来部署的好工具,不过我还没研究明白,所以没往上放。阿里云最近风评是不好,但是毕竟还算是国内最大最成熟的,所以想了想还是放上来了。
的确是就写的我自己的技术栈,当初写的目的是为了给大家一个无脑的选择,只要学习这些,就能搞一个应用出来。守护进程这一项我忘记了加了,该把 pm2 放进去的,没打算加 vue,看来我也应该把 webpack 去掉,有点多余了
目的是为了搞一个完成应用的最小技术栈,拒绝选择困难症,先把产品搞出来才是正经事
忘了写了,该加进去,可惜 V2EX 无法编辑自己的帖子
看一下我用了什么技术栈:
https://www.geekerism.com
说的有道理,我把 webpack 给干掉了
有道理,我把 webpack 干掉了
最近 postgresql 挺火,不过我还没用过
😢😢😢,终于有人鼓励了
1. JQuery+webpack?这个思路有点神秘。
2. 这眼看都 2017 年了,居然没有 docker。可以说是非常真实了。
3. mysql 而不是 postgres,真实。
没 vue,差评
我现在用的就是 forever,因为 pm2 的授权协议,导致没法用 pm2,不过还是挺想把 pm2 重新拾起来的
不好意思,😅,丢了个 t,v2ex 没法该帖子
嗯,我好多出去创业的同事都用 ucloud
主要想搞一个最小的推荐集合,react、vue、angular 上手难度会高一些
Awsome Web Tech
看不出来,感觉你这搞一个 Html 就可以了
- 的确不合适,所以我把 webpack 去掉了; 2. docker 我还没搞明白,目前用 ansible 部署,问题不大; 3. 目前 mysql 的学习材料比 postgresql 多太多了,使用的成熟程度也要高不少,所以没把 postgresql 放上去,我觉得自己还搞不定 postgresql
最小技术栈需要列这么长那可就坏事儿了。
哪个可以去掉呢?感觉去掉任意一项都会有问题吧,我倒是想再精简一些,请指教
你应该加个前提,[后端程序员的]。你这个明显一看就是后端搞出来给后端用的。
什么叫 postgres 最近很火… 是您最近才知道这东西?
嗯,的确是最近才知道的,一直用的都是 mysql
我干了两年前端,去年才转后端,目前觉得后端的东西很多复杂性无法避开,但是前端用 jquery 搞一些简单页面是没问题的
我觉得楼上的图很适合你… jquery 确实能做,但是现在前端谁还用你那一套?我刚入行的时候差不多用的是你这样,早就被淘汰了。甚至可以说这个前端技术栈已经找不到工作了,当后端就好好当后端,别说什么全栈了。
数据库驱动我推荐 TypeORM (支持 MySQL、SQLite、MS SQL )。
不明白写这些是干啥用的,科普?
我主要是没有找到 vue、react 技术栈针对 seo 处理的比较好的方案,如果使用 vue、react 这些技术,会导致爬虫无法识别内容。我们只有后台应用才用这些技术,对于面向用户的产品,还是用后端拼接模版的方式,还是为了 seo 考虑。
嗯,科普,避免选择困难症
seo 可以做。。
不知道列举这些东西有什么用…
一个 php 脚本,一个 html 模版页,几行 css,一个 markdown 目录,对,就是这个 http://www.dingzhihao.org
哇,我只喷下 node。。。
喷 jquery 的人简直了,vue、react 根本就是大厂的玩具和试验品, 根本比不了 jquery 的意义 !
本来想说点啥的,一看楼主是前端转后端,加油吧,知识面太窄学不好后端的。
bootstrap + jquery 这种十年前的技术对于写个交互很少的博客来说还是能用的。
不过 LZ 是要构建一个中型的 web 应用。。。
jquery 的基础地位不是新框架能比的。框架已经包含了基础样式及开发构架,更多地是加快开发速度,react 等 新框架也是在工程管理上下了工夫,以便构建大型的,复杂的前端界面。
CDN: 又拍
存储:aws s3,又拍 ,ali oss
云主机:aws,linode, ali
日志监控:ELK
消息中间件:kafka
反向代理:nginx
https 证书:letencrypt
任督二脉:HTTP 协议
另外咨询一下:node 应用常驻后台是用什么方案?
来,送你一块砖头🌑
前几天参加学校的比赛,大部分做网站的用的是 bootstrap+jq😂😂(我也是)
mvvm 的服务端渲染我都有用了十个月了
老宋!
react vue 解决不了 seo ?都说了,做后端就好好做,别扯什么全栈,知识面太窄。
mysql 有些东西做不到,之前很长一段时间 json 类型只能存字符串,两三个月前还不支持 CTE,就算你用不到,postgres 也会比 mysql 性能好。Amazon Redshift 是 postgres 兼容的,就是说,你后期如果这个中等规模的项目要变成大规模项目的话,迁移也方便很多。
吹 postgres 是有理有据的,不知道当然可以问,但是麻烦语气好点,成不?
常驻后台用 pm2,已经更新到 github 上去了,v2ex 没法改帖子
jQuery 挺好的
针对您提出的Node.js技术选型帖子,以下是我的一些建议及理由,尽量结合代码片段来展示:
-
框架选择:
- 推荐使用Express.js,它简洁且易于上手。
const express = require('express'); const app = express(); app.get('/', (req, res) => res.send('Hello World!')); app.listen(3000, () => console.log('Server started on port 3000'));
- 推荐使用Express.js,它简洁且易于上手。
-
数据库:
- MongoDB与Node.js搭配良好,适用于需要灵活数据模型的场景。
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true }); const mySchema = new mongoose.Schema({ name: String }); const MyModel = mongoose.model('MyModel', mySchema);
- MongoDB与Node.js搭配良好,适用于需要灵活数据模型的场景。
-
前端技术:
- 使用React.js或Vue.js构建前端,通过Node.js的API进行前后端交互。
- 示例(使用axios进行HTTP请求):
axios.get('http://localhost:3000/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Error fetching data:', error));
-
构建与部署:
- 使用Webpack进行前端资源打包,Docker进行容器化部署。
- 示例Dockerfile:
FROM node:14 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "server.js"]
以上建议仅供参考,希望对您有所帮助。当然,技术选型应根据项目需求灵活调整。