素材牛VIP会员
想用nodejs建一个个人博客网站,遇到挺多问题和疑惑,希望得到大神的解答,不求全面
 be***ai  分类:Node.js  人气:1488  回帖:11  发布于6年前 收藏
  1. express 相对于直接用 nodejs 建站的好处在哪?

  2. express 用的是 jade 格式的模板,可以直接用 html 文件吗?

  3. jade 位于 express 项目的 views 文件夹下,为什么看到其他地方的人回答:“要是用 html 代替 jade,要放在 public 文件夹,但是页面就变成静态的了”,静态网页与动态网页的区别?

  4. 使用 nodejs 的互联网公司,也是用 express 框架吗?也是用的 jade 吗?

  5. 一般什么情况下用静态网页,什么情况下用动态网页?

  6. 个人博客需要数据库吗?只是在上面写一些文章附带一些图片,如果用使用 mongodb 还是 MySQL


2016/5/31 22:49 增加的:
7.写博客直接在html文档里写?还是用innerHtml()?还是用其他方法?

会用html html5 css css3 javascript jquery。nodejs本地实验过,不过不真正在服务器上跑起来感觉离会还很远呀,比较新的网上盛传的nodejs学习文档基本看过一遍。最近自己利用fanqiang的vps主机简单搭了一个express,远程访问成功了。博客雏形早就写好了,用的标准html+css+javascript+jquery切页面,本来想直接用nodejs启个服务,但是看到网上基本都是express做的,很少直接用nodejs。于是打算把做的雏形和express结合。又遇到jade、ejs这些问题,有点困惑。

讨论这个帖子(11)垃圾回帖将一律封号处理……

Lv6 码匠
ka***13 JAVA开发工程师 6年前#1
  1. 框架可以省代码。但是node由于自带http模块,能省的代码十分有限,这个需要你自己取舍。你手动取req的querystring自建路由表也没什么不可以。
    但是模板引擎是完全不能省的,你自己拼接html就会出现各种安全隐患。

  2. 可以用app.engine定义模板引擎,res.render渲染。也可以绕过res.render,直接调用引擎。html的话,可以直接用fs读取并刷给res吧。

  3. 目录无所谓,都是可配置的。express的模板模块可以按后缀区分模板,也不会混。静态页面没有输入而且输出为定值。

  4. 估计也有不用框架的。模板引擎在社区主流的选择是ejs。

  5. 需要。选择rdbms或者nosql看你个人喜好。一般来说nosql写起来简单维护起来困难。

  6. 对于UI或交互上的任何问题,参照wordpress和typecho。

Lv5 码农
牛***满 产品经理 6年前#2

其实hexo也是够用的,用Markdown写博客其实很方便快捷

Lv4 码徒
黑***人 JS工程师 6年前#3

打个擦边球,个人看法,比较片面。
首先整理你的第一目标是什么?

是写blog,则专心写作上。 有很多人都是为了搞个人网站写blog,结果搞着搞着时间全花在code上,blog就写了几篇。 而现成的blog工具已经很多了。 有带server的(要有机器),有纯静态的(送到github即可),个人更偏向第二种。 推荐个工具MWeb 。

是学code,则脚踏实地买几本数啃,nodejs的书现在很丰富了。 找到个框架,只要有那么个量级都是不错的,先用起来,毕竟用过了才知道具体的好坏(因人而异的,不是么?)
保守就express,自己搭太累,先入个门在深入。 激进的就koa,思想很好的框架,没两把刷子别用。
同理用ejs,没两把刷子别用jade

Lv3 码奴
郑***y 其它 6年前#4

用express相对于直接用nodejs建站的好处在哪

使用框架的好处在于“快速”,因为具体项目中可能遇到的问题,大部分情况框架都已经考虑到了。譬如:expressmiddleware设计,使得记公共日志,全局错误处理、cache control、鉴权都可以轻松达成。

express用的是jade格式的模板,可以直接用html文件吗?

抱歉了jade是一种简写语法,不能在里面直接写html。如果你想直接写html语法,试试把模版引擎换成ejs。参考文档using-template-engine

jade位于express项目的views文件夹下,为什么看到其他地方的人回答:“要是用html代替jade,要放在public文件夹,但是页面就变成静态的了”,静态网页与动态网页的区别?

的确,静态文件通常直接放在public目录下。通俗来说,静态网页所有人看到都是同样的;但动态网页可以根据看的人的不同做不同内容的展示;也可以使用同一个模板通过注入不同的变量,给用户提供多重阅读。譬如:超级管理员、普通管理员、普通用户在看同一个页面的时候,看到的内容肯定不同。

使用nodejs的互联网公司,也是用express框架吗?也是用的jade吗?

express框架确实因为其简单易用,使用者众多。但绝不是唯一,其他知名框架还有:koa,toa。。。其实很多啦!

是不是都用jade可不好说,个人认为用ejs的也不在少数

一般什么情况下用静态网页,什么情况下用动态网页?

通常公司的首页(就是介绍介绍公司业务,展示展示老板风采)的页面,就是静态的,因为不需要“根据看的人调整内容”,“也不需要同一模板适配不同内容”。其余情况,动态居多。譬如:segmentfault的“文章”栏目,那就是一个模板,但是每篇文章点进去都是该文章的内容,而不是篇篇文章都一个样子。

个人博客需要数据库吗?只是在上面写一些文章附带一些图片,如果用使用mongodb还是MySQL?

真心没必要,有githubcoding这些网站,都可以托管个人博客。我之前写过一个小教程在Github上搭博客

Lv5 码农
阿***d 交互设计师 6年前#5

1,express有强大的路由功能,丰富的数据处理。可以给你免去很多烦恼
2,可以的,后缀无所谓,但是要在模板配置里面改相应的参数
3,public文件夹是express默认的静态资源处理文件夹。你也可以换成其他的,这里面都是静态资源。动态网页是程序根据响应,从数据库取数据过后生成的页面
4,各个公司有各个公司的业务逻辑。
5,不好回答,并非所有的页面都是动态的,你也可以动态生成静态页面。
6,个人博客,如果数据不多,你完全可以用json充当数据库。MySQL和MongoDB区别有很多。数据库选用看你的业务逻辑

Lv2 入门
雷***习 技术总监 6年前#6

用node建博客(其他语言也是一样的)有以下方式:

1、最原始的方式:不适用任何框架,就是说连express也不用。完全刀耕火种。
2、较原始的方式:使用框架,但是还需要自己编码。一个一个的页面你不得自己写啊?

如果你是练手、学技术,可以用上面两种,否则建议用下面的高级方式

3、高级方式:使用成熟的博客框架。不用写任何代码。只写博客内容,然后发布就行了。推荐一个node博客框架https://github.com/hexojs/hexo

这是本人的博客:http://www.liyanshan.com/

完全静态的。。

Lv5 码农
牛***满 产品经理 6年前#7

「你的问题主要是代码写得不多而想得太多」——阿尔伯特·爱因斯坦

  1. 框架的作用通常都是对一些通用功能做简化,为使用者节省时间和对细节处处的亲力亲为

  2. Express 可以用 Jade、EJS、Swig、Handlebar 等等 HTML 模版

  3. 坚决抵制包括但不限于产品经理、设计师、老板等人对程序员喜欢把文件放在哪里的干涉

  4. 有的用

  5. 可以用也可以不用。可以用 MongoDB 也可以用 MySQL

Lv6 码匠
lk***29 CEO 6年前#8

1.express是基于nodejs的http模块的,抽象层次更高了,工程资源管理方式目前有许多成熟的实例。好不好,不能一言蔽之,对于不同技术层次人的使用体验是不同的。
2.express可以指定模板,官方文档进行了详细的说明,详见
http://www.expressjs.com.cn/guide/using-template-engines.html
3.静态网页和动态网页在于使用时是否能和服务器端进行数据交互。
4.互联网公司使用什么框架看需求,不是非express不可,restify,koa也是可能的,自己根据自己需求造一个轮子也是有可能的。
5.前端和后端有大量数据交互的时候,使用动态网页。个人博客对动态网页的需求就不是刚需。
6.个人博客,一般而言静态页面足矣。你写写文章,带点图片,使用数据库就是弹性需求了。

7.不知道你个人知识储备有多少?例如,计算机网络方面的http协议的相关知识、nodejs模块的http模块、对NoSQL和SQL了解多少。
8.你的个人博客网站,是从视觉设计,UI交互设计,再到前端代码,再到后端代码再到数据库设计都是自己搞定?还是前端用框架,后端也用框架,视觉设计复用别人的设计?
9.个人博客网站的建构,可以使用成熟的CMS,例如wordpress。或者GEEK一点,使用GitHub Pages + Hexo(Jekyll)
10.本人博客完全静态:sky111144.github.io,基于GitHub Pages + Hexo

Lv6 码匠
12***23 页面重构设计 6年前#9
  1. 就是不用自己考虑那么多了。路由之类,建议用框架吧

  2. 可以,可以看看swig

  3. 这个不影响,说到底只是模板引擎,还是node渲染的页面,简单来讲就是静态网页就是访问一个已经存在的文件。动态就是动态渲染,比如从数据库读取数据渲染之类。

  4. 不是很了解,不过估计用的不少吧

  5. 展示性质,很久都不会有变化的。比如h5页面之类(展示),看需求吧,blog如果是hexo之类就是静态,类似wordpress就是动态,看你需求

  6. 上面提到的hexo就是静态,简单来说,node渲染数据生成html文件托管到pages之类的地方,还是看需求。两种方式都能实现。mongodb和mysql感觉都行吧。不影响,主要还是看你做的东西

Lv6 码匠
小***技 Web前端工程师 6年前#10

我是写JS的,业余玩一下Nodejs;

Express还是很方便的;
jade、ejs没有质的区别,只有表现方式的不一样;突然发现我好久没碰views目录了;我自己模拟了一个最低级的模板,来动态渲染页面;静态页面无论放在哪个目录都当静态资源来加载;终于,我发现,这样比jade、ejs什么的加载快多了;
我的个人站是用的Nodejs+MongoDB,欢迎讨论,一起学习!
http://famanoder.com/bokes

上一页12下一页
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取