一、node-app结构

  创建成功node-app项目后,会自动生成一些文件一般初始的结构如下图

  

  在bin文件夹里面只有一个文件www

       var port = normalizePort(process.env.PORT || '3000');里面这一行里面的3000是运行的端口号,可以修改为随意数字,运行的localhost:xxxx保持一致
      在public存放的是用到的静态文件,包括images、javascript、stylesheets文件夹,也可以自己添加个html文件夹,在测试时候可以使用
 
  在routes里面写你定义的前端调用的接口文件
 
  在views里面是定义的jade模板,一般是用不到的,不用管!
 
  根目录的app.js是项目运行时候首先调用的文件需要做些配置
  二、app.js配置
  为了更好的维护把路由页面写在了routes中所以这个文件里面的indexRouter,usersRouter有关的删除,
  在里面引入routes,把app导入到routes首文件里,因为我在routes中使用index.js文件作为首文件,所以./routes/index.js可以简写。
  
  在routes文件夹里重新导出router,在routes/index.js中引入路由文件users.js。使用module.exports导出
  var users = require('./users.js');
module.exports = function (app) {
app.use('/', users); // 这里我重设置为第一个页面,所以localhost:3000展示文字会变
}
  这样虽然可以使用但是调用api时候会出现跨域,所以还要做跨域处理
  三、处理跨域
    //跨域问题
app.all('*',function (req, res, next) {
res.header('Access-Control-Allow-Origin', req.headers.origin);
res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length,
Authorization, Accept, X-Requested-With , yourHeaderFeild');
res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE,
OPTIONS');
res.header('Access-Control-Allow-Credentials', true) if (req.method == 'OPTIONS') {
res.send(200); /让options请求快速返回/
} else {
next();
}
});

  这样才算配置结束(根据需要可以添加其他配置)结果如下图

 
  重启npm start 运行localhost:3000看是否还能正常调用
 
  四、package-lock.json、package.json是配置文件,要是npm配置插件时候才会变化
 
  五、导入数据库,短信
        使用mysql ,要安装后才能用 npm install mysql --save(mysql怎么安装,有空我在写一篇文章,怎么在node使用mysql和短信在下一篇文章中)
        这里在根目录新建一个config.json文件,统一把需要配置的特殊内容放在一起,(如果使用redis也写在一起)
   短信这里使用的阿里云的短信,(阿里云短信需要申请账号才能使用)阿里云的文档上面有详细的使用方法(阿里云短信文档
   {
"mysql": {
"host": "120.xx.xxx.xx", // mysql的主机地址
"user": "root", // 用户名
"port": 3306, // 渡口
"password": "xxxx", // 密码
"database": "xxx", // 调用的数据库名称
"charset": "UTF8MB4_GENERAL_CI" // 字符编码
},
"redis": { // 不使用的话不写
"RDS_PORT": "",
"RDS_HOST": "",
"RDS_PWD": ""
},
"duanxin": {
"SignName": "xxxxxx", // :短信签名
"TemplateCode": "xxxxxx",// 短信模板
"key": "xxxxxx",//用户
"secret": "xxxxxxx"//用来验证用户的密钥
}
}

  

  

node后台初始配置(2)的更多相关文章

  1. 手把手教你webpack、react和node.js环境配置(上篇)

    很多人刚学习react的时候,往往因为繁琐的配置而头疼,这里我将手把手教大家怎么用webpack配置react和redux的环境,这篇教程包括前端react和后台node整个网站的环境配置,对node ...

  2. 手把手教你webpack、react和node.js环境配置(下篇)

    上篇我介绍了前端下webpack和react.redux等环境的配置,这篇将继续重点介绍后台node.js的配置. 这里是上篇链接:手把手教你webpack.react和node.js环境配置(上篇) ...

  3. node开发环境配置

    node开发环境配置 用处 NodeJS——后台 JavaScript-前台 后台其他语言 1.PHP 2.Java 3.Pythonnode优势 1.性能高 nodejs php 86 1s 1分半 ...

  4. Node后台使用mysql并开启事务

    如题:node后台使用mysql数据库,并使用事务来管理数据库操作. 这里主要讲一个事务的封装并写了一个INSERT 插入操作. code: 基础code: db.config.js const my ...

  5. node后台fetch请求数据-Hostname/IP doesn't match certificate's altnames解决方法

    一.问题背景 基于express框架,node后台fetch请求数据,报错Hostname/IP doesn't match certificate's altnames..... require(' ...

  6. vue使用elementUI组件提交表单(带图片)到node后台

    1.方法一(图片与表单分开,请求2次) 1.1 前台代码 // elementUI表单 <el-form ref="form" class="forms" ...

  7. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  8. Node.js 安装配置介绍

    Node.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法. 本安装教程以Node.js v6.10.1 LTS(长期支持版本)版本为例. Node.js安装 ...

  9. node学习笔记(二)(ajax方式向node后台提交数据)

    通过ajax向node后台提交数据过程(附手写前后台代码),并总结post与get的区别 POST 前台代码 //CSS简单给点样式 <style> form{ width: 200px; ...

随机推荐

  1. 百万年薪python之路 -- 面向对象之继承

    面向对象之继承 1.什么是面向对象的继承 继承(英语:inheritance)是面向对象软件技术当中的一个概念. 通俗易懂的理解是:子承父业,合法继承家产 专业的理解是:子类可以完全使用父类的方法和属 ...

  2. 百万年薪python之路 -- 模块二

    1. 序列化模块 什么是序列化呢? 序列化的本质就是将一种数据结构(如字典.列表)等转换成一个特殊的序列(字符串或者bytes)的过程就叫做序列化. 为什么要有序列化模块? 如果你写入文件中的字符串是 ...

  3. ArcGIS Engine专题地图渲染器的实现(入门版)

    专题地图(Thematic Map)是着重表示一种或数种自然要素特征或社会经济现象的地图 专题地图的内容由两部分构成: 1.专题内容——图上突出表示的自然或社会经济现象及其有关特征 2.地理基础——用 ...

  4. 疯狂Java:突破程序员基本功的16课-李刚编著 学习笔记(未完待续)

    突破程序员基本功(16课) 数组 静态语言: 在编译的时候就能确定数据类型的语言,大多静态语言要求在使用变量之前必须声明数据类型(少数具有强推导能力的现代语言不用) 动态语言: 在程序运行时确定数据类 ...

  5. Linux下安装db2V9.7

    vi /etc/hosts(127.0.0.1 localhost192.168.1.53 linux-wmv8) vi /etc/services db2inst1 50000/tcp(加在最后) ...

  6. nginx高可用集群

    1.配置: (1)需要两台nginx服务器 (2)需要keepalived (3)需要虚拟ip 2.配置高可用的准备工作 (1)需要两台服务器192.168.180.113和192.168.180.1 ...

  7. srync:@ERROR: auth failed on module tee 的解决办法分析

    首先:检查server端和client端的用户名和密码确认都无误: 然后:检查了服务器端/etc/rsyncd.conf 配置文件未发现异常, 再次:通过配置文件找到了log存放目录 $ cat /e ...

  8. IL2CPP深入详解-总览

    导语 该系列将会分为以下几个部分:1. 总览(本文)2. c++代码解析3. 调试c++代码4. 方法调用(一般方法,虚方法等)5. 泛型共享6. 类型与方法的 P/invoke 封装7. 垃圾回收8 ...

  9. [springboot 开发单体web shop] 4. Swagger生成Javadoc

    Swagger生成JavaDoc 在日常的工作中,特别是现在前后端分离模式之下,接口的提供造成了我们前后端开发人员的沟通 成本大量提升,因为沟通不到位,不及时而造成的[撕币]事件都成了日常工作.特别是 ...

  10. 程序员这十个java题你都会吗?

    前言 不论你是职场新人还是步入职场N年的职场新人大哥大~当然这个N<3~,我能担保你答不对这十个题~不要问我为什么这么自信~,这些个题还是"有水平"的javase的基础题,传 ...