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. maven将依赖的包一起打包

    把以下内容输入到pom中即可 <build> <plugins> <!-- 将项目的依赖包复制到 target/lib --> <plugin> < ...

  2. 十分钟带你学会Http协议和Tomcat服务器的原理

    1. Http协议 1. 什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准 ...

  3. SpringBoot 中解决跨域请求

    CORS 理解 同源策略是web浏览器实现的一个重要的安全概念,它防止JavaScript代码对不同的来源(例如,不同的域)发出请求,而不是它所服务的来源.虽然同源策略有效地防止来自不同来源的资源,但 ...

  4. IOS http(上传和下载)

    HttpTool.h #import <Foundation/Foundation.h> typedef void (^HttpToolProgressBlock)(CGFloat pro ...

  5. vue项目出现的错误汇总

    报错一: expected "indent", got "!" 通过vue-cli创建的项目,不需要在webpack.base.conf.js中再手动配置关于c ...

  6. html5和CSS3中新特性

    H5 1.语义化标签 header.footer.aside.nav.section.article 2.表单输入类型 email.url.number.range.Date Pickers.sear ...

  7. svg压缩工具svgo安装使用

    svgo是基于node.js的插件,所以需要先安装node.js 1.安装完node.js后,打开node.js命令窗口,输入npm install -g svgo,安装成后会出现下边的内容 2.对s ...

  8. IntelliJ IDEA 与Eclipse Link with Editor等价功能设置

    Link With Editor是Eclipse内置功能中十分小巧,但却异常实用的一个功能. 这个开关按钮 (Toggle Button) 出现在各式导航器视图 ( 例如 Resource Explo ...

  9. Object-C中对“引用(reference)”的理解

    http://blog.csdn.net/csz0102/article/details/25984275 注:以下讨论都是在ARC模式下 我们在iOS开发中最经常碰到的“引用(reference)” ...

  10. 消息中间件--"rocketmq"01之环境搭建

    前置知识 ssh工具 连接linux工具SecureCRT 颜色设置,参考 中文乱码,参考 Linux相关知识 centos7 防火墙firewalld的基本使用,参考 启动: systemctl s ...