nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例

2024-02-15 14:58

本文主要是介绍nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

                    THE DEAD-SIMPLE STEP-BY-STEP GUIDE FOR FRONT-END DEVELOPERS TO GETTING UP AND RUNNING WITH NODE.JS, EXPRESS,JADE AND MONGODB

               翻译自: http://cwbuecheler.com/web/tutorials/2013/node-express-mongo/

一 介绍

     There are approximately one hundred million tutorials on the web for getting a "Hello, World!" app running with Node.js. 网上可以获得上亿个用nodejs运行的"Hello world"应用的文章. 如果你的目标仅仅停留在hello这个层次放弃你的web的职业生涯的话,这是非常好的.

  That doesn't really describe most of us, so we go looking for more tutorials. 当然那并不代表我们的大多数人, 所以我们会寻求更多的教程. 

   In my experience, the "next level" tutorials out there seem about 30 levels further along. 据我的经验, "下一级别"的教程似乎还有30级要走. 我们从"Hello World"的应用到创建整个具有评论功能的博客.

  1  Part1 : 15 MINUTES OF INSTALLING 15分钟安装

   我运行在WIN8系统下, 因此与那些MAC 或UBUNTU或*NIX系统有些许的不同, 但是基本原理是一样的.

 A: 第1步安装 node.js 

非常的简单,访问 Node.js website  的网站, 单击大的绿色的安装按钮.  它装根据你的OS安装相应的应用. 运行installer, 安装完Node.js后, NPM(Node Package Manager), 它非常重要,作用是快速简单的添加各种stuff到Node机器中.

  •      打开命令窗口
  •      cd 创建一个目录, 用来存放你希望的测试应用的路径.(本文的测试应用的目录是: C:\node) 
    B: 第2步: 安装express

    现在我们的node开始运行了, 实现我们在创建一个可用的web网站的时候, 我们还需求其他的工具. 我们将要安装Express, Express是一个框架, 将单纯的nodejs转变成更像一个我们曾经用过的web服务器.

C:\node>npm install -g express
      This installs some core Express functionality right into our Node installation, making it available globally so we can use it anywhere we want. That's handy. You'll see a bunch of text in your command prompt, mostly a lot of http 304's and GETs. That's fine. Express is now installed and available.

    这样就安装了一些Express的核心功能,  -g 是使它成为了全局可胜,因此我们可以在任何地方应用, 那样很方便. 你将会在你的命令窗口中见到一连串的文本, 大部分是http请求或get请求, 非常好,现在Express已经安装成功并可用了.

   C: 第3步: 创建一个Express工程 

C:\node>express --sessions nodetest1

   点击Enter你将会看到如下的内容: 

C:\node>express --sessions nodetest1
create : nodetest1
create : nodetest1/package.json
create : nodetest1/app.js
create : nodetest1/routes
create : nodetest1/routes/index.js
create : nodetest1/routes/user.js
create : nodetest1/views
create : nodetest1/views/layout.jade
create : nodetest1/views/index.jade
create : nodetest1/public/images
create : nodetest1/public/javascripts
create : nodetest1/public
create : nodetest1/public/stylesheets
create : nodetest1/public/stylesheets/style.cssinstall dependencies:
$ cd nodetest1 && npm installrun the app:
$ node app
D: 第4步: 编辑依赖

  OK, now we have some basic structure in there, but we're not quite done. You'll note that the express installation routine created a file called package.json in your nodetest1 directory. Open this up in a text editor and it'll look like this:   

{"name": "application-name","version": "0.0.1","private": true,"scripts": {"start": "node app.js"},"dependencies": {"express": "3.3.6","jade": "*"}
}

这是基本的JSON文件描述我们的应用及它的依赖关系. 我们需要添加一些内容. 特别是我们需要引入MongoDB和Monk, 让我们加入依赖对象如下:

"dependencies": {"express": "3.3.6","ejs": "*","mongodb": "1.3.19","monk": "0.7.1"
}
 

      E: 安装依赖    

    Now we're ready to go. Note that those version numbers might be out of date by the time you read this article. You can check them from your command prompt with "npm info [dependency] version" (eg: npm info mongodb version). Return to your command prompt, cd to your nodetest1 directory, and type this:

   现在我们继续. 注意这些版本号在你读到这篇文章的时候可能已经过时了. 你现在从你的命令窗口中(npm into[dependency] version)检测他们.  返回你的命令窗口, 创建nodetest1目录, 输入如下信息: 

C:\node\nodetest1>npm install
    It's going to print out a ton of stuff. That's because it's reading the JSON file we just edited and installing all the stuff listed in the dependencies object (yes, including Express – we installed the top level stuff using the –g flag, but we still have to install some necessary code for this particular project). Once NPM has run its course, you should have a node_modules directory which contains all of our dependencies for this tutorial.

   一旦你运行了npm , 将会生成一个node_modules目录用来包含文章中所有的我们的依赖.

   到现在我们有了一个完全可以运行的应用, 让我们测试一下. 目录转到你的nodetest1目录下, 输入 

C:\node\nodetest1>node app.js
 Express server listening on port 3000

    打开浏览器输入 http://localhost:3000 你将会看到 Express 的欢迎页面. 

这篇关于nodejs + express + ejs + mongodb 一个非常简单的前后端开发的实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/711710

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis