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. 在Windows10中破解一些软件

    在Windows10中破解一些软件 一.前言   以前的windows是很好破解的,这里说的windows包含了windows的一些产品,比如说office,visio等等,可是自从到了新版的wind ...

  2. August 02nd 2017 Week 31st Wednesday

    Love means never having to say you are sorry. 爱就是永远不必说对不起. If there is ture love, you will never do ...

  3. python虚拟环境virtualenv高级篇

    我曾经写过一篇virtualenv的博客:http://www.cnblogs.com/anpengapple/p/5907416.html 总体来讲还是适用的,不过稍微傻了一点.这一篇的内容有两个: ...

  4. PaaS平台– Google App Engine的开源实现AppScale环境搭建

    搭建好开发环境介绍: 硬件平台:HP Z800 工作站  内存:24GB      硬盘:1TB 虚拟化环境:XenServer 6.2.0 VM1:Ubuntu 12.04 amd64 server ...

  5. Convolution1D与Convolution2D区别

    以下是Convolution1D的例子: # apply a convolution 1d of length 3 to a sequence with 10 timesteps, # with 64 ...

  6. 关于easyui表格右侧多出来的那一列。

    关于easyui表格右侧多出来的那一列,如下图,是给滚动条预留的位置,easyui表格默认就有的. 如果想要不显示:打开jQuery.easyui.min.js文件,找到wrap.width();所在 ...

  7. web测试--测试点

    转载自:51Testing 首先,查找需求说明.网站设计等相关文档,分析测试需求,制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试:界面测试:性能测试:数据库测试:安全性测试:兼 ...

  8. UVA - 1197 (简单并查集计数)

    Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized ...

  9. 查看apache当前并发访问数和进程数

    1.查看apache当前并发访问数: netstat -an | grep ESTABLISHED | wc -l 对比httpd.conf中MaxClients的数字差距多少. 2.查看有多少个进程 ...

  10. Python 分支、循环、条件、枚举

    对于表达式,分为“左结合”和“右结合” 左结合:对于没有 = 号的,从左到右边,当然要考虑优先级. 右结合:对于有 = 号存在的情况,右边的自成一体,然后赋值给左边变量   优先级: 逻辑运算符的优先 ...