基于Nodejs的DoraCMS内容管理系统(开发文档)

 2024-03-07 02:04:29  阅读 0

开发指南

开发指南

1. 安装

1.1 安装

1.2 安装。

1.3 操作

1.3.1 启动

1.3.2 插入初始数据

1.3.3 运行

1.3.4 访问地址

2. 发展

2.1 配置文件

2.2 关于路由

2.3 关于模板

2.4 实体类

2.5 使用插件

2.6 关于编码

三、总结

4.常见问题解答

1. 安装

1.1 安装

它是基于开发的,所以需要一个环境才能正常运行。 在官网()根据电脑版本下载对应的安装文件并安装。 安装完成后,打开命令窗口,执行node -v。 如果出现版本号则说明安装成功。 我的电脑是64位版本,安装重启后才生效。

1.2 安装。

使用数据库。 至于NoSQL的特点以及NoSQL的优点,这里就不详细描述了。 安装方法非常简单。 前往官网()下载对应版本,直接安装。 这里需要注意的一点是,如果安装在D盘,安装完成后,要在D盘根目录下创建文件夹data。 否则启动mongo会提示数据库路径错误。 当然,你也可以通过命令启动来指定数据库。 Path,如果你不想麻烦的话,就按照我说的处理吧。

1、在本地磁盘创建一个文件夹(最好是英文名),通过svn输出代码。 项目地址为:svn地址:svn:////。 完成后,代码结构如下:

注意:.idea不属于项目文件夹,它是一个项目文件,所以忽略它。

1.3 操作

1.3.1 启动

找到安装目录下的bin文件夹,执行.exe

1.3.2 插入初始数据

《操作指南》中提到插入初始管理数据。 由于新安装的数据为空,需要插入初始数据来管理后台。 这里重新介绍一下:

①. 找到安装目录(.0bin)并执行mongo.exe

②. 输入使用

③插入用户组数据:

db..({ "_id":"", "name":"超级管理员", "power":"{"":true,"":true,"":true,"":true,"" : true, "":true,"":true,"":true,"":true,"":true, "":true,"":true,"":true,"":true,"" : true, "":true}", "日期":("2015-06-30T08:04:46.092Z"), "__v":0 })

④插入用户数据:

db..({ "_id":"", "name":"test", "":"test", "":"", "":.0, "email":"", "group": "", "":"", "标志":"///.png", "日期":("2015-06-18T01:17:15.007Z"), "__v":0 })

⑤. 如果插入数据时出现格式问题,需要在记事本中编辑。 如果以上执行正常,则默认登录名和密码为test/,因此可以正常登录后端。

1.3.3 运行

在svn刚下载的代码目录下调出cmd命令窗口,执行npm start

如果没有报错,则证明操作成功。

注意:默认端口号是80,如果你的机器已经占用了80端口,这里会报错。 如果要修改默认端口号,可以在代码bin目录下的www文件中修改。 当然修改完成了。 请记住包含访问路径。 上传端口号:

此时,它正在运行

1.3.4 访问地址

前台:127.0.0.1(默认端口80)

后端:127.0.0.1/admin

2. 发展

2.1 配置文件

主要配置在.js(///db/.js)中设置:

//数据库配置:\'\', URL:\'://127.0.0.1:27017/\', DB:\'\', HOST:\'127.0.0.1\',//数据库地址 PORT:27017 ,//数据库端口号:\'\',//数据库用户名:\'\',//数据库密码//站点基本信息配置:\'前端开发俱乐部\',//站点名称:\ '\',//网站域名:\'广东ICP备案号-2\',//网站备​​案号:\'\',//网站邮箱:.cwd()+\'//\',/ /默认上传文件夹本地路径:.cwd()+\'/views/web/temp\',//默认模板文件夹本地路径:.cwd()+\'//db/bat\',//数据库操作 :\'C://xxxx/\',//服务器端数据库操作脚本目录:\'前端开发俱乐部,分享前端知识,丰富前端技能。

汇聚国内专业前端开发文档,共同推动行业前端开发水平的提升。 html,js,css,,前端开发,,web前端,web前端开发,前端开发工程师\', :\'前端开发俱乐部,前端俱乐部,内容管理系统,前端开发,web前端,web前端开发,前端开发工程师,设计,开发,前端资源,,,js,Ajax,,html,html5,css3,浏览器兼容性,前端开发工具,,node,\', :\'前端开发俱乐部,前端开发,前端俱乐部,\',//基本关键字:\'\',//静态文件空间地址:\' \',//上传文件空间地址:\'\',//七牛秘钥:\'\',//七牛秘钥:\'\',//七牛秘钥:\'\',//七牛秘钥:\'\'

对以上静态参数已经做了详细注释。 如果设置了数据库账号和密码,需要在这里进行相应的配置,并且需要在Dbopt.js中进行相应的数据库连接设置。

.js中有四个参数需要注意:

:.cwd()+\'//\',//默认上传文件夹本地路径:.cwd()+\'/views/web/temp\',//默认模板文件夹本地路径:.cwd( )+ \'//db/bat\',//数据库操作脚本目录

上述三个参数原则上不需要修改。 指定上传文件的目录,为指定的模板文件夹,为执行数据备份的脚本目录文件夹。

:\'C://xxxx/\',//服务器数据库操作脚本目录

指定数据备份的本地路径。

以下配置均为后台模块静态参数:

:\'\',//后端模块(系统管理) :\'\', :\'\', :\'\', :\'\', :\'\', :\'\', //数据管理:\'\',//数据备份:\'\',//后端模块(内容管理):\'\', :\'\', :\'\',//标签管理:\'\',//模板管理:\'\',//内容属性管理:\'\',//内容属性管理:\'\',//内容属性管理:\'\',/ /内容属性管理:\'\',//消息管理:\'\',//后台模块(会员管理):\'\'

修改后台模板文件.ejs中模块列表对应的参数:

也就是说,如果添加新的模块,需要在配置文件(.js)和.ejs中配置相应的cid。

该属性是权限控制所必需的。 另外,添加新模块后,需要在权限管理模块中添加新模块,并配置对应的cid

2.2 关于路由

中的所有请求都是通过路由来处理的,原理与java中类似。

路由文件位于以下文件夹中:

Admin.js,后台所有模块管理路由

.js前端文档相关

Index.js首页相关(还包括文档列表和文档相亲)

.js 系统操作相关路由(如文件上传、邮件发送等)

Users.js 用户中心相关请求请移至此处

.js后台权限控制(不授予管理权限()会直接过滤掉请求)

2.3 关于模板

它基于ejs模板引擎来表示前端页面。 我选择ejs是因为它比jade更容易理解。 有js属性的童鞋也可以接受ejs的语法来显示数据。 模板文件全部位于views文件夹中:

分析:

1.views下的index.ejs是首页的主要内容,.ejs是站点地图的主要内容,.ejs是展示给用户的,不需要手动更新。

2. Web是指前端的所有模板文件。 Web根目录下的do404.ejs、do505.ejs、.ejs是处理操作流程结果反馈的模板。 这些都是常用的。

3.Users是用户相关的页面模板。

4.Temp包含公共模板和文档模板。 、博客、实验室都是文档模板,你可以根据自己的需要添加。

5. 文件夹中的模板暂时不使用。

6.这里是后台所有的页面模板,.ejs是模板外壳,里面包含了各个模块的列表和一些公共引用。

7、该文件夹下的目录主要放置静态文件,包括前后端的静态js和css,以及用到的插件等,下面的文件都是的,在app.js中设置。

2.4 实体类

这里称其为“实体类”可能不太合适。 在Java中,这部分确实称为实体类,它代表了每个对象的属性。 文件存储在文件夹中。

每个对象都有详细的注释,开发者可以自行查看。

2.5 使用插件

开发过程中,很多功能都不是我自己写的。 使用了npm上一些优秀的插件。 这里选取一些进行介绍。 下面列出了所有插件。

1. ,基本框架

2.gm图片缩略图,为上传的图片生成指定尺寸的缩略图

3.时间格式化工具,很强大

4.邮件发送组件

5.文件上传组件

6.七牛七牛云存储组件,用于上传文件到七牛

7. Qr-image 是一个供用户从自定义链接生成二维码图像的组件。 它重量轻、方便。

8.文件夹压缩工具,将指定文件夹压缩成zip

9.用在实体类中生成长id而不是短id。

10.用户服务器数据验证,提供多种方法验证数据

11. - 与百度集成。 感觉这个组件非常有用。

12.用于连接并提供丰富的数据处理接口

2.6 关于编码

1、编码方面,前端主要使用ejs模板和ejs语法来显示数据; 后端主要使用ejs和ejs来显示数据。 对于不熟悉的人来说,我们先简单了解一下。 在后台展示数据很方便,但是不适合前台,因为不适合SEO。

2.基于+编写,所以前端基本都是div+css+js,服务端主要是js。 熟悉js的前端开发人员可以轻松上手。

3、80%的代码都有注释,详细说明了接口的用途和细节,方便查看。

三、总结

开发时间比较短,功能也不是很丰富。 不过,麻雀虽小,五脏俱全,但基本功能都具备了。 由于是我独立开发的,由于技术有限,难免会有一些处理不好的地方,或者一些明显的bug(虽然我在不断改进)。 如果您发现问题,请赐教。 如果确实有问题,我会继续更新,这也是开源的目的。 如果您有更好的解决方案或者更好的想法,也可以通过我的博客联系我,让我们一起讨论、共同进步。

4.常见问题解答

1.我从未见过任何提及设置数据库密码的内容。 这安全吗?

当然这并不安全。 本地调试不需要设置密码。 部署程序时必须设置数据库帐户密码。 怎么设置呢? 这是一个链接供您参考:

2.网上很多cms都很强大,为什么要选择?

当然,很多成熟的CMS(等)自然是和刚起步的CMS无法比拟的。 创作的首要目的是为了加深理解并付诸实践。 开源的目的也是为了通过案例不断提高我们的水平,共同努力。 提升; 其次,结构清晰,模块简单,易于上手。 目前市场上的CMS结构复杂,学习如何自己修改和定制成本相对较高。 刚接触的开发人员可以了解一个cms实现的基本流程,熟悉的开发人员也可以使用它进行二次开发,而不必从头开始。 它是完全开源的,遵循 MIT 许可证。 您可以自由定制自己的网站,而无需花费大量时间处理最基本的事情。 为了让更多的人了解、理解它,它就诞生了。

3. 演示地址在哪里?

定制博客系统

定制视频分享网站

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码