nodejs网站搭建学习
1.1下载并安装node.js
下载地址:https://nodejs.org/en/download/
下载windows安装包,如node-v12.13.1-x64.msi,运行后一直点击下一步,默认安装即可。
1.2检测安装版本
在命令行中输入node –v可获取node版本则表明安装成功。
如安装时未选择添加环境变量,则需手动配置,在path中添加node.exe所在的目录,如D:\Program Files\nodejs。
1.3下载项目
源码下载:
https://github.com/daoket/nodeblog
项目简介:
该项目使用node+express+mongo实现的个人博客系统,使用express处理http请求和路由管理,使用mongo作为数据库,swig作为模板引擎,body-parser处理post数据,使用cookies记录用户登录状态,项目中涉及了创建一个前端博客+后台管理系统。
1.4运行项目
切换到项目根目录,即包含app.js的目录,打开cmd命令行窗口,执行:node app.js
1.首次运行报错如下,提示没有找到express模块
查看app.js文件,该项目调用了好几个第三方模块,如
express,swig,mongoose,body-parser,cookies
解决方法:依旧在该项目目录下,使用命令:npm install 模块名
依次安装所需要的模块。所有的模块安装完成后,项目根目录下会多了一个名为node_modules的文件夹,该文件夹就是以上安装的所有需依赖的模块。
2.所有的模块安装完成后,运行项目依旧报错,提示数据库连接失败
通过百度,了解到关于该报错的原因主要是两种:
- 没有安装 mongodb
- 已安装 mongodb ,但没有启动 mongodb 服务器
解决方法:我属于第一种,没有安装mongodb,先果断安装
Windows 平台安装 MongoDB地址链接:
https://www.runoob.com/mongodb/mongodb-window-install.html
再安装Mongodb 可视化管理工具MongoDB Compass Community,地址链接:
https://www.mongodb.com/download-center/compass
3.另附过程中遇到的关于端口已占用的报错
解决方法:该提示是因为8888端口已被占用,修改监听端口即可。
Mongodb安装完成后,再次启动项目,这次没有再报错:
打开浏览器,输入地址:http://127.0.0.1:1234/,可以正常打开网站。
1.5体验项目
点击注册,注册一个用户如admin,此时程序自动再数据库创建了一个用户表,并新增了一条用户数据。
打开MongoDB Compass,找到blog-users,将刚刚创建的用户身份更改为管理员,isAdmin设置为True,update保存.
以admin身份登陆到系统,这时就可以进入到后台管理页面。
后台管理页面:可查看用户,添加博客分类,以及内容。
增加一个分类及内容,返回到首页查看。
点击阅读全文,发现文章只展示了简介,没有显示内容。
修改脚本,修改nodeblog-master/nodeblog-master/views/main/view.html文件,加上下图框中的一行。
再刷新页面,就可以成功展示文章内容了。
主要参考文章:https://blog.youkuaiyun.com/qq_33988065/article/details/79976178