1. 初始化配置基本信息:

  npm init (自定义配置)

  npm init -y (一切配置采用默认值)

  在当前目录产生package.json文件,有一个dependencies用来记录该项目所有依赖包

2.搭建服务器(在入口文件中app.js)

  使用express框架(npm i express 下载该模块)

//加载express
const express = require('express')
//创建express服务器
const app = express()
//开启服务器(端口号随意此处为3000)
const.listen(3000, () => {
//搭建成功后的提示信息
console.log('server is running...)
}
//托管静态资源
app.use('/assets',express.static('./view/assets'))
app.use('/node_modules', express.static('./node_modules'));
//注册body-parser中间件(body-parse用来专门处理post请求的数据)
const bp = require('body-parser');
app.use(bp.urlencoded({extended: false}));
//注册中间件
//配置模板引擎
app.engine('html', require('express-art-template'));
//4. 加载路由模块
const router = require('./router.js');
app.use(router);
 

  使用系统模块提供的http模块

const http = require('http')
//创建服务器实例
const server = http.createServer()
//开启服务
server.listen(3000, ()=>{
console.log('server is reunning...')
}
//客户端请求事件,监听客户端请求
//当用户请求require页时,在页面上返回'hellow'
server.on('request', (req, res) => {
res.end('hellow')
}

3. 使用mysql模块,封装数据库文件(db.js)

  mysql是一个第三方模块,提供对数据库增删改

const mysql = require('mysql')
//创建连接对象
const conn = mysql.createConnection({
host: '127.0.0.1',
user: 'root',
password: 'root',
port: 3333, // 端口号
database: 'aaa' //要操作的数据库
})
//连接mysql服务器
conn.connect();
//执行sql语句
const sql = 'select * from hero'
//添加insert into hero value(null, '武则天','朕很中意你','2018-2-2')
//删除insert into hero value(null, '武则天','朕很中意你','2018-2-2')
//修改update hero set name='张三', content='大傻子' where id = 1 conn.query(sql,(err,result,field)=>{
if(err){
return console.log(err)
}
console.log(result)
})
//导出
module.exports = conn

  通配符模式

const sql = "update hero set ? where hero_id=?"
const obj = {
hero_name: '圣诞快乐',
hero_age: 22
}
conn.query(sql,[obj,2],(err,result)=>{
//。。。。
}

4. 路由模块

const express = require('express')
const path = require('path')
const db = require('./db.js') const router = express.Router()
//加载控制器
// const jq_c = require('./jq_controller.js')
//监听浏览器请求
//美食
router.get('/meishi',(req, res) => {
const sql = 'select * from MS'
db.query(sql, (err, result) => {
if(err){
console.log(err)
}
console.log(result)
res.render(path.join(__dirname, 'view/jqhtml','meishi.html'),{list: result})
})
// res.end('sadasdasd')
}) module.exports = router;

5.运行

命令窗口node app.js

node从搭建运行项目整体流程的更多相关文章

  1. Eclipse搭建maven项目的流程,聚合所有的子模块项目

    Eclipse搭建maven项目的流程 2018年03月01日 15:47:03 阅读数:22 1:搭建parent工程,用来聚合所有的子模块项目 2:搭建公共使用的模块common 这里你要点击空白 ...

  2. node + express搭建api项目

    express框架 描述 express是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能. 安装 // 1.使用npm淘宝镜像--cn ...

  3. ubuntu 14.04搭建PHP项目基本流程

    首先准备需要安装东西的列表1.apache服务器,2.php,3.mysql,4.几个软件包的链接包,安装方式是以apt-get方式安装; 1.安装apache服务器: apt-get install ...

  4. Eclipse 添加本地 SVN插件以及运行项目的流程

    去网上下载SVN插件包.里面包含文件如图: 把features和plugins文件夹里面的东西全部复制粘贴到eclipse安装目录下的features和plugins文件夹中就行.然后重启eclips ...

  5. 从零构建vue项目(一)--搭建node环境,拉取项目模板

    本文是基于vuecli2搭建的项目. 1. 下载安装nodejs     地址:https://nodejs.org/en/download/ 选择安装版windows .msi, 不要选择压缩版 下 ...

  6. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式

    前言 1.@LearningCoding 小伙伴关于用Sqlsugar在mysql数据库上的研究成果: sqlsugarcore支持mysql等数据库,在DbContext里面只需要设置dbtype为 ...

  7. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之七 || API项目整体搭建 6.2 轻量级ORM

    更新 1.在使用的时候,特别是更新数据的时候,如果不知道哪里有问题,可以查看数据库 和 实体类 的字段,是否大小写一致,比如 name 和 Name 2.在使用Sqlsugar 的 CodeFirst ...

  8. vue--环境搭建(创建运行项目)

    如何搭建vue环境: 1.安装之前必须要安装 node.js 2.搭建Vue环境,安装vue的脚手架工具 npm install --global vue-cli / cnpm install --g ...

  9. 【Vue】环境搭建、项目创建及运行

    一.软件下载 1. 进入官网https://nodejs.org/en/下周node.js,傻瓜式安装步骤(一直下一步就好) 2. 进入官网http://www.dcloud.io/下载并安装编辑器H ...

随机推荐

  1. HDU 1542 矩形面积并

    推荐阅读这篇文章 这里仅根据上述文章进行一些补充.主要是注意这里线段树点的意义变成了“边”.比如+-----+-----+,看作3个点abc和两条边e1和e2,那么线段树中点a代表e1,点b代表e2. ...

  2. HDFS Namenode&Datanode

    HDFS Namenode&Datanode HDFS 机制粗略示意图 客户端写入文件流程: NN && DN Namenode(NN)工作机制 NN是整个文件系统的管理节点. ...

  3. jquery 中 $.map 用法

    $.map(data,function(item,index){return XXX}) 遍历data数组中的每个元素,并按照return中的计算方式 形成一个新的元素,放入返回的数组中 var b ...

  4. Bootstrap3.0和bootstrap2.x的区别

    bootstrap已经推出了3.0的新版,看起来2.3.x版本也不会再更新了.那么bootstrap 2.3版与3.0版的区别在哪里呢?下面我们就来介绍一下. Bootstrap 3.0增加了一些新的 ...

  5. Protocols, Generics, and Existential Containers — Wait What?

    For the longest time now, I thought that the two functions above were the same. But in actuality, wh ...

  6. DOM操作怎样添加、移除、移动、复制。创建和查找节点?

    (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节 ...

  7. hdu_1009 贪心

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  8. PyTorch Softmax

    PyTorch provides 2 kinds of Softmax class. The one is applying softmax along a certain dimension. Th ...

  9. keepalived 的进程/usr/sbin/keepalived -D 只有2个

    操作系统:openSUSE 11.3 (x86_64) /usr/sbin/keepalived -D  只有2条 日志:ls  /var/log/messages* -lrth Can't init ...

  10. IOS 创建简单表视图

    创建简单表视图 此实例主要实现UITableViewDataSource协议中必需要实现的两个方法tableView:numberOfRowsInSection: 和tableView:cellFor ...