App.js

前端必备之Node+mysql+ejs模版如何写接口

。_饼干妹妹 提交于 2021-01-06 04:18:12
前端必备之Node+mysql+ejs模版如何写接口 这星期公司要做一个视频的后台管理系统, 让我用Node+mysql+ejs配合写接口, 周末在家研究了一下, 趁还没来具体需求把研究内容在这里分享一下。 1、准备   准备Node环境,mysql环境,我这里用express脚手架起了一个小项目demo   2、建数据库   我这里用了可视化工具,Navicat Premium新建了一个表cookbook,以下是我的demo数据 3、mysql如何写   1>yarn add mysql安装mysql包   2>models文件夹中建立一个 pool.js 用于连接数据库 var mysql = require( ' mysql ' ); var connection = mysql.createPool({ connectionLimit : 10 , host : ' localhost ' , user : ' root ' , password : ' 12345678 ' , database : ' mysql ' }); const _delete = (sql) => { return new Promise((resolve, reject) => { connection.query(sql, (err, result) => { if (err) {

小程序包大小超过2M的解决方法

ぐ巨炮叔叔 提交于 2020-12-31 10:35:48
小程序的包被限制在2M以下, 超出的时候点击预览, 发现报错: Error: 代码包大小为 3701 kb,上限为 2048 kb,请删除文件后重试 1. 优化代码, 删除掉不用的代码 2. 图片压缩或上传服务器 一般图片所占空间较大,尽量不要放在小程序本地文件夹中,如果图片不多我们也可以对图片进行压缩,我经常使用的图片压缩平台: 点击这里 ; 也可以将图片上传到服务器上,进行外链引用, 我们使用的是阿里云oss存储, 另外也可以通过图片托管平台对图片进行托管, 我找到的的图片托管平台: 点击此处 ; 另外, 通过cli命令创建的uni app项目,可将图片或字体图标放入assets文件夹下,通过require引入, 也可减少主包大小 3. 分包加载 官方推出小程序分包加载这一功能,对于万千小程序开发者来说这无疑是天大的喜讯,关于如何分包,微信官方文档已经解释的十分清楚,在进行分包之前建议认真阅读 官方文档 。 接下来简单介绍一下在不同框架中的使用: 在uni app中: uni app通过cli初始化的小程序目录结构如下: ├── src ├── main.js ├── App.vue ├── pages.json ├── manifest.json ├── orderPackages │ └── pages │ ├── goodsDetail │ └── myorder ├──

express解决ajax跨域访问session失效问题

人走茶凉 提交于 2020-12-27 03:48:26
最近在学习express,就用以前做的项目来进行express前后端分离的练手了,在做登陆注册的时候发现跨域的时候,session的值是会失效的,导致session里面的数据获取为undefined,网上找资料加上自己的不断尝试,终于找到了解决方法,简单记录一下解决方法。 1、客户端因为session原则上是需要cookie支持的,所以Ajax方法里面必须添加 xhrFields:{withCredentials:true},表示允许带Cookie的跨域Ajax请求( 特别说明,只要使用的session都得加这句) $('#login').click(function () { $.ajax({ url: 'http://localhost:3000/users/yzm',//服务端路由地址 type: 'get', xhrFields:{withCredentials:true}, dataType: 'json', success:function(data){ $('#yzm_img').html(data) }, error:function(){ alert('error'); } }); }); $('#form_login').submit(function (e) {/!*登录*!/ e.preventDefault();/!*阻止表单默认事件,页面全局刷新*!/

[React] react+redux+router+webpack+antd环境搭建一版

这一生的挚爱 提交于 2020-12-25 03:41:44
好久之前搭建的一个react执行环境,受历史影响是webpack3.10.0和webpack-dev-server2.7.1的环境,新项目准备用webpack4重新弄弄了,旧的记录就合并发布了(在没有快速目录的地方写的,之前是分为了10个文件) 所使用的一些包可能进过不断的迭代升级已不支持 01.初始化项目(安装需要的包) //生成package.json npm init 安装基础包 npm install react react-dom --save npm install webpack@3.10.0 webpack-dev-server@2.7.1 --save-dev <!--webpack和webpack-dev-server同时全局安装一下--> npm install webpack@3.10.0 wepack-dev-server@2.7.1 -g webpack-dev-server@2.7.3是最后兼容ie9的版本,升级之后会导致打包的文件在ie9下运行报错 安装和配置babel npm install babel-core 核心功能 babel-loader babel-polyfill 转换低版本代码 babel-preset-env 解析Es6 babel-preset-react 解析JSX --save-dev 安装loader包 npm

node.js小案例_留言板

痞子三分冷 提交于 2020-12-23 14:06:04
一、前言 通过这个案例复习: 1、node.js中模板引擎的使用 2、node.js中的页面跳转和重定向 二、主要内容 1 、 案列演示: 2、案列源码: https://github.com/4561231/feedback 3、具体实现: 1、项目结构:项目名称feedback ,为了方便管理,将页面内请求的资源统一放到一个公共的public目录下,view中放跳转的页面 2、创建app.js 先搭建一个基本服务器,用户输入地址请求的时候默认跳到首页 var http = require( 'http' ); var fs= require( 'fs' ); var server = http.createServer(); server.on( 'request' , function (req, res){ var pathname = req.url; // 如果 请求/返回的是/index.html if (url === '/' ) { fs.readFile( './views/index.html' , function (err, data) { res.end(data); }) } }); server.listen( 3000, function (){ console.log( 'server is running' ); }) 3、

node.js 爬虫案例

…衆ロ難τιáo~ 提交于 2020-12-23 14:05:37
本案例是爬的一部小说,爬取并存在本地 使用了动态浏览器头部信息,和 动态ip代理, 这2个方式可以有效的伪装自己,不至于被反爬,然后拉黑,之前已有记录,浏览器头部信息,也记录的有, app.js import request from ' request ' ; import userAgents from ' ./common/userAgent.js ' ; import Promise from ' bluebird ' ; import cheerio from ' cheerio ' ; // 类似jquery写法 import fs from ' fs ' ; const Iconv = require( ' iconv ' ).Iconv; const iconv = new Iconv( ' GBK ' , ' UTF-8 ' ); const URL = ' http://www.qb5200.org/xiaoshuo/62/62493/ ' ; let pageUrl = `${URL} 6161384 .html`; // 章节存放变量,初始化是第一章地址 // 这里只做测试,所以用变量存,而实际应用中,应该使用数据缓存 const expiryTime = 5 * 60 * 1000 ; // 过期间隔时间,毫秒 let ips = null ; //

模块化

心已入冬 提交于 2020-12-23 03:11:04
1,什么是模块化? 模块化是指将一个复杂的系统分解为多个模块,方便编码。 2,为什么要用模块化? 降低复杂性,降低代码耦合度,部署方便,提高效率。 3,模块化的好处? a,避免命名冲突,减少变量空间污染 b,更好的分离代码,按需加载 c,更高复用性 d,更高可维护性 模块化实现 1,函数形式 2,命名空间形式 3,立即执行函数 4,模式增强 模块化规范 1,CommonJs 2,AMD 3,CMD 4,Es6 CommomJs 据CommonJs规范规定每一个Js文件都可以看作一个模块,其内部定义的变量是属于这个模块的,不会对外暴露,也就是说不会污染全局变量。该规范最初 用在服务器端的node环境中 。 CommonJS采用 同步加载 不同模块文件,适用于服务器端的。因为模块文件都存放在服务器的各个硬盘上,读取加载时间快,适合服务器端,不适应浏览器。 浏览器不兼容CommonJs ,原因是浏览器缺少module、exports、require、global四个环境变量。如要使用需要工具转换。 CommonJS的核心思想 就是通过 require 方法来同步加载所要依赖的其他模块,然后通过 exports 或者 module.exports 来导出需要暴露的接口。 案例: exports是导出,require引入,最后通过 http://browserify.org/

基于Postman中的报错

梦想的初衷 提交于 2020-12-19 07:56:50
Postman中的报错: Could not get any response 错误 Could not get any response There was an error connecting to http://127.0.0.1:8888/api/private/v1/login. Why this might have happened: The server couldn't send a response: Ensure that the backend is working properly Self-signed SSL certificates are being blocked: Fix this by turning off 'SSL certificate verification' in Settings > General Proxy configured incorrectly Ensure that proxy is configured correctly in Settings > Proxy Request timeout: Change request timeout in Settings > General   原因:为打开接口文件 app.js 解决方法: API项目中 shift+右键 打开命令行输入: node app 运行

Jenkins 远程启动nodejs失败,使用pm2守护Nodejs

旧街凉风 提交于 2020-12-10 09:00:52
一、概述 使用Jenkins 远程ssh到linux,使用命令: ssh root@ 192.168 . 10.1 ' cd /data/test;nohup npm start & ' 发现linux服务器的node进程没有启动。但是本地执行命令: cd /data/test;nohup npm start & 是可以启动的。 具体原因,参考链接: https://www.cnblogs.com/zhenbianshu/p/7152327.html 大致意思是,如果远程执行的命令,不是守护进程。即使加了nohup,关闭ssh连接后,当前用户启动的进程会全部终止。 因此,远程执行的命令,必须是守护进程才行。 二、pm2守护Nodejs 简介 pm2是nodejs的一个带有负载均衡功能的应用进程管理器的模块,类似有Supervisor,forever,用来进行进程管理。 安装 npm install pm2 -g 启动 pm2 start app.js pm2 start app.js --name my-api #my- api为PM2进程名称 pm2 start app.js -i 0 #根据CPU核数启动进程个数 pm2 start app.js --watch #实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload 查看进程 pm2 list

web前端开发知识:微信小程序前端开发架构

空扰寡人 提交于 2020-12-09 15:31:12
一、目标 1、提升开发速度 2、更好的响应需求变化 二、面临的问题 业务需求的变化是永恒的,而变化势必会引发代码的变化,新增代码或修改代码。 改动的地方越多,引入新的错误几率就越大。 三、应对思路 最小化原则,确保每次业务需求变化可以用最小的代价来完成。 1、视图模板化,组件化 2、逻辑代码对象化、版本化 3、事件传递参数化、代理化 四、架构模型 1、视图 2、逻辑与事件通信 视图层需要传递一组参数(对象名、方法名、方法需要的参数) 五、代码示例 //wxml代码<view bindtap='bindViewEvent' data-model="user" data-method="sayhello" data-text="hi,nihao">sayhello</view>//js代码,page页里只有一个事件路由业务函数bindViewEvent:function(e){ app.excute(this,e); } //app.js /* * 事件路由函数 */ excute:function(that,e){ new umitech(that,this.config).extend(e);//动态加载对象,并调用相关方法 } } //app.js 前端学习培训、视频教程、学习路线,添加威信 kaixin666haoyun 与我联系 } 来源: oschina 链接: https