- 博客(40)
- 收藏
- 关注
原创 【第2篇】从0-1自建个人博客系统【web端,admin管理端,express后端+MySql,Nginx部署】--vue3技术 reac+hook技术 umi4
knex是把SQL语句简写的一个第三方工具,类似于我们前端的jQuery一样的,knex官网: https://knexjs.org/guide/query-builder.html。3、MySQL启动了之后需要代码去连接,连接的方法在npm上的MySQL插件介绍上也有代码。目前正在搭建自己的个人博客网站,欢迎有兴趣的朋友加入,合作,讨论,想要学习或者使用接口的朋友,我可以提供后台管理系统的账号以及api接口文档的。结尾:基本的knex操作其实就SQL语句的简化,SQL在大学一版都是学过的。
2023-04-13 11:28:10 172
原创 【第1篇】从0-1自建个人博客系统【web端,admin管理端,express后端+MySql,Nginx部署】--vue3技术 reac+hook技术 umi4
3、npm start 命令配置并启动:原本是使用node启动项目的,箭头所指的使用node启动的话就是node app.js 但是那样的话每次都没有热更新,需要手动去重新启动项目,所以安装nodemon插件 命令 npm i nodemon,可以热更新项目。本博客服务端选择的是express框架,也就是nodejs来写,这样的话就相当于使用了的是前端的知识点,从而不用再去学习其他的后端技术来提高开发成本。【第1篇】从0-1自建个人博客系统【web端,admin管理端,后端】
2023-04-10 23:57:55 151
原创 【第0篇】从0-1自建个人博客系统【web端,admin管理端,express后端,Nginx部署】--vue3技术 reac+hook技术 umi4
个人网站博客系统,web端 管理系统 服务端 Nginx部署
2023-04-09 10:33:59 396
原创 前端项目-react&vue的.sh文件根据git仓库分支自动化打包构建到Jenkins部署
echo “请检查是否分支错误分支错误 , 当前分支是” $d。echo “开始判断环境并执行响应打包命令”echo “正在安装第三方库”echo “当前环境” $d;
2022-11-14 17:53:19 461
原创 类型“void”上不存在属性“then”
TS项目类型报错 ,原因是因为你的方法或者是接口不支持promise 也就是说可能是你封装的方法没有返回,或者是没有返回promise ,如果没有参数 或者不需要返回的话-那么可以直接把调用的方法加一个async。类型“void”上不存在属性“then”...
2022-08-16 10:56:55 2596
原创 啊哈!Taro3.3发布,Taro小程序开发可以支持HTML标签了。就是它 @tarojs/plugin-html
啊哈!Taro3.3发布,Taro小程序开发可以支持HTML标签了。这样就意味着开发小程序就是vue开发、就是react开发。。官方原地址:http://taro-docs.jd.com/taro/docs/use-h5配置方法 :1、首先下载安装插件 @tarojs/plugin-htmlyarn add @tarojs/plugin-html2、然后在项目配置中添加使用插件// config/index.jsconfig = {// …plugins: [’@tarojs/plugi
2021-07-22 16:45:50 1706
原创 解决jsx或者tsx语法报错问题:Objects are not valid as a React child (found: object with keys {})
Error: Objects are not valid as a React child (found: object with keys {}). If you meant to render a collection of children, use an array instead.{ // 【注意】jsx 的大括号里面一定要放数组 如果不需要放置内容的时候就放 空数组 [] 或者 null 否则会报错 routes.map(ele =>
2021-07-19 10:52:03 1644
原创 react项目一堆的ts和es黄色警告,看着很烦,使用下面两个插件就可以去掉。
npm 或者 yarn 安装下面两兄弟@typescript-eslint/eslint-plugin@typescript-eslint/parser然后在根目录文件中创建.eslintrc 文件 写入如下代码就解决了。还我浏览器控制台一片洁白。{ "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "rules": { "import/no-anonymous
2021-07-16 08:15:20 1590
原创 解决create-react-app 集成ts 报error :because it would overwrite input file. TS5055 问题
下面这一堆的bug你喜欢吗?我气炸了已经。具体解决方案:如下是我的tsconfig.json 文件 由于刚开始的时候没有加outDir所以导致了TS5055错误 加上之后就好了,但是需要注意填写的值,在react的这个脚手架中上线目录文件名为:build 所以写"./build" ,平时项目中一般都喜欢写"./dist" 这个需要自行去webpackconfig.js中更改了。{ "compilerOptions": { //"outDir": "./build",
2021-07-14 09:36:04 1388
原创 写一个递归方法配置react中的全部组件页面显示
//写一个递归方法配置react中的全部组件页面显示, 也就是让所有的链接都会被Route组件直接包裹。这样才会显示,也就是路由配置的第三步,组件显示。const renderRoutes = ()=>{ let res = [] // 定义一个递归方法 function deep(arr) { arr.map(ele=>{ res.push( <Route key={ele.id} path={e
2021-07-10 23:31:10 322 7
原创 调节滚动条css样式 两栏布局适用
.ant-layout-sider-children 是需要调节的容器选择器。.ant-layout-sider-children {overflow-y: auto;}.ant-layout-sider-children::-webkit-scrollbar {width: 10px;}.ant-layout-sider-children::-webkit-scrollbar-thumb {background-color: rgba(0, 0, 0, .05);border-radiu
2021-07-10 12:17:29 505
原创 用node里面的gulp实现简单的压缩代码并实现实时刷新功能的小服务器【项目里面的gulpfile.js文件】
// 在这里书写 代码 让需要打包的文件打包压缩 成上线的文件const gulp = require('gulp');// 1.先写一个删除dist的方法 用到的是第三方的del库 先引入const del = require('del');const delHeadler = () => { return del(['./dist']);}// module.exports.del = delHeadler;// 2. 写一个压缩并发送html到dist的方法 需要.
2021-05-20 08:49:19 103
原创 JavaScript之财产继承终极版本第四部ES6class继承之马到功成
// 前面的三种方法继承都不太好 各有缺点 //在es6中有一个方法继承就很好 解决了上述的所有缺点 实现了完美的继承 //类的继承 class 也就是构造函数的改写方式 在子类的属性里面的最前面添加super关键字接父类的参数。即可 class Person{ constructor(name){ this.name=name; } sayHi(){ .
2021-05-11 21:06:51 88
原创 JavaScript之财产继承第三部组合继承之瞒天过海遥遥无期
<script> // 3: 组合继承 就是把第一种方法原型继承和第二种方法借用构造函数继承综合在一起 //但是综合爱一起之后还是有缺点 虽然原型继承解决了借用构造函数继承的父类方法 //不能继承问题 以及借用构造函数继承解决了原型继承的父类属性没有继承在子类的 //自己身上问题 但是 二者共同的问题就是 1.会覆盖掉子类原有的方法 //2.原型继承会把父类的属性继承到自己的__proto__下面
2021-05-11 21:03:09 98
原创 JavaScript之财产继承第二部构造函数继承之望穿秋水
<script> // 2.借用构造函数继承 function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayHi=function(){ console.log("hi"); } function Student(g
2021-05-11 21:00:12 71
原创 JavaScript之财产继承第一部原型继承之近水楼台
<script> // 1,原型继承 语法: 子类构造函数.prototype=父类的实例化对象 // 缺点: 参数不只是写在子类构造函数里面 而且继承来的属性没有在自己身上 而是在自己的__proto__上面 继承之前子类有的原型上面的方法会被覆盖掉 function Person(name){ this.name = name; } Person.prototype.sayHel
2021-05-11 20:57:38 78
原创 JavaScript之闭包的函数爸爸与复杂数据类型的儿子同台演绎一台戏之钱财往外拿不关闭通道的骚操作
<script> // 闭包的简单解释: // 一句话让闭包的头上长包----一锤定闭包;闭包其实就是函数父子同演一台戏,儿子在外面依然能够使用老爸的钱财(父函数的变量),不仅如此,父函数还不关闭钱财通道(不释放作用域) function fn1() { var aa = 90; return function () { console.log(aa.
2021-05-11 20:45:32 101
原创 if你有女上司的话,请一定要elegant写代码,用ES7中的async/await就行!
<script src="./ajax_link.js"></script> <script> /* async/await语法 == es7的语法 == 把异步代码写的“看起来像”一个同步代码 == 代码只是看起来像同步代码 == 本质还是异步代码 ..
2021-05-10 20:46:01 222
原创 Promise许下的承诺你实现了吗?没有的话 那就再许一个...
// promise的链式编程 (简单的过程) // 当Promise对象一直都是成功的回调时 如果回调里面返回 又是一个promise对象那么就可以一直then下去 这就是Promise的链式编程 var p1 = new Promise(function(success){ var xhr = new XMLHttpRequest(); xhr.open('get','./aa.php'); xhr.
2021-05-10 20:20:24 131
原创 ES6新语法Promise使回调地狱回到光明的一面容易维护且不难
// Promise 当异步请求的时候 当需要嵌套的函数很多的时候 就会产生回调地狱 并不是有错误 而是不好维护 因为都是在嵌套里面的 这个时候就可以用Promise来解决 当使用Promise的时候 promise后面的括号接的是一个函数 函数里面两个参数就是下面的异步操作成功或者失败时执行的外面的函数的形参 而外面的成功的参数 是Promise实例化.then=(function(){ // 成功执行的回调函数 // }) 不论成功与否都是把回调函数写..
2021-05-10 20:12:10 98
原创 闲时来两个小算法动动脑,防止不脱发操作【JavaScript实现冒泡和选择】
<script> // . 数组的冒泡排序 // 1 有一个无序的数字在数组中 var arrM = [4, 6, 67, 3, 8, 9, 5, 1, 2]; for (var j = 0; j < arrM.length - 1; j++) { // 外循环控制轮数 for (var i = 0; i < arrM.length - j - 1; i++) { // 每个元素的.
2021-04-28 09:20:29 70
原创 面试了前端小伙之后,我总结了他说的原型链,这次确实是我想听的!
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script&
2021-04-26 20:38:39 106
原创 构造函数之原型prototype大问题与实例化对象的子子孙孙__proto__之间的不谋而合
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script>
2021-04-26 15:13:19 100
原创 JavaScript之DOM节点充满罪恶感陷入黑暗无法自拔的一生!!
英雄简介:dom节点从出生就生活在一个及其贫寒的家庭,它的家乡除了各式各样的大山以及大山上面各式各样的鲜花之外别无他物。家庭小节点的兄弟们很多,打小时候开始就一直被几个哥哥所压制,说话不敢大声,喘气不敢张嘴,吃饭不敢夹菜,喝汤不敢脸红;大哥是document.getElementById,在社会上很吃香,江湖人称id大侠;二哥是getElementsByClassName,不仅在社会上很吃香,而且还练就了一身的武艺,所以身边有很多小弟,要想解决掉二哥,你得先解决二哥的小弟们;三哥是getElemen
2021-04-17 15:08:55 515 3
原创 JavaScript之定时器-函数-DOM三者之间的暧昧关系
使用JS写了一个时间表和倒计时初始界面是这样的- 温文尔雅得体大方当打开页面之后初始界面就是一个时间表,显示的是当前的时间;输入空格之后~~~还是显示当前时间当输入正确的时间格式之后 就开始计算倒计时工作了这里输入的是今年的五一到现在放假的倒计时…嘿嘿其实…这些都是小的操作 不骚 …不骚…下面输入年月日时分秒 试试?恭喜您!能看到这里说明您很有耐心 那么我将说明本文的中心思想与君一起探讨:其实这个小玩意我今天写的时候有一个技术点是没有突破的,就是在setInterval定时器中
2021-04-15 21:36:47 157
原创 JS之解析欲睡预解析
预解析: JavaScript代码在浏览器中执行之前会进行预解析也就是先进行一个代码解释,在进行预解析的时候 会先把 var 变量名 以及 定义的函数提前(这就是为啥申明式函数可以先调用的原因),so 如果你在定义一个变量并赋值之前就打印它的话,那么肯定是 执行这句 var 变量名; 也就是说打印的结果就是undefined如果有多个函数是一样的函数名 那就打印最后一个 因为后面的会覆盖前面的console.log(a); // undefinedvar a = 2;...
2021-04-14 21:20:36 70
原创 我们在一起工作了那么久 你居然给我说你还不知道运算符的优先级 !!
那我送你一首诗吧!运算符乱符渐欲迷人眼,早有括号立上头。单日算术位关系,逻辑三日再赋值。通假字:日 === 目
2021-04-14 20:55:13 56
原创 JavaScript之函数的狡猾 [ 抓住尾巴不要跑 ]
虽然说JS里面的函数不是很难(相对于其他的后端语言)But 也有狡猾的一面简单说说函数的定义:2种方法1 声明式function 函数名 (){ //执行的代码} 赋值式2 var 变量名 =function(){ //执行的代码}【尾巴在此:抓住】 声明完函数之后一定要调用声明式 可以先调用 再声明但是 赋值式 不能先调用 必须要定义 才能调用【再抓住】函数里面的return可以结束整个函数 并返回一个值如果没有设置返回值的话 就会返回undefined 也就是
2021-04-14 20:44:08 139 1
原创 搞清楚JavaScript中的Date看这个就够了
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-04-14 20:11:27 241
原创 知道models 使用了ORM技术
ORM:Object Relational Mapping 对象关系映射作用:将业务逻辑进行了一个解耦合,比如,调用如下Object.save() 就是保存数据,不管是什么数据库都会保存Object.delete() 删除数据关系型数据库:DDL :通过models定义实现,数据库表的定义数据操作:增删改查存储: Object.save()查询: Object.all() 查询所有Object.get(pk = xx) pk 是主键更新: 基于查询的,查好的对象,修
2020-11-29 10:51:30 89
原创 自学python-django 第一天就遇到了最讨厌的数据库问题!?
加油! 小伙子 我相信你可以的.问题描述:在我创建的工程中,刚刚还是可以运行的,但是当去启动数据库的时候,在pycharm中,就发生了如下错误.而且sqlite出现了乱码.django.db.utils.DatabaseError: file is encrypted or is not a database问题回答:查阅了很多CSDN之后,百度了好多之后.不会![知道怎么样解决的同学,请评论区帮忙,一起学习一起讨论]!!!!! 跳过继续学习MySQL...
2020-07-07 21:02:45 446
原创 所有的代码都在App里面很乱,所以可以创建多个应用
创建应用: python manage.py startapp Two # Two是应用名,去settings里面注册app,找到APPS 添加 刚刚创建的应用 TwoINSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib..
2020-07-07 16:13:02 109
原创 继App创建templates后的第二种templates创建方法
右击x项目工程名,创建directory ,右击directory创建html文件, 同样的,可以在HTML文件中写东西了.接下来是运行和上一种方法一样,首先 添加路由,来到urls添加, 然后到 views去写视图函数 ,不一样的是templates 的路径不一样了 所以需要添加templates的路径,到 settings中找到TEMPLATES 中的DIRS 这个列表 在里面添加 os. path.join(BASE_DIR, ‘templates’) 代表templates的..
2020-07-07 15:40:58 254
原创 pycharm 创建django web页面,即模板 templates 的创建
1, 右击项目下面的App文件,创建directory 命名为templates ,然后右击templates 创建HTML文件.小贴士:html快捷键:ul>li 创建如下<ul> <li></li></ul>ul*5 创建如下<ul></ul><ul></ul><ul></ul><ul></ul><ul><
2020-07-07 13:41:29 962
原创 Django+pycharm实现一个web请求响应
继打开pycharm之后 用pycharm实现一个web请求注册一个路由 ,在urls中,写一个url,参数1 是一个匹配规则[正则表达式]; 视图函数,对应的是views中的一个函数,注意没有括号.去views中实现对应的视图函数,第一个参数是request,永远记得要 返回 Response,记得要导入Response...
2020-07-07 12:54:20 169
原创 用pycharm打开命令创建的项目
继上一篇Helloworld 运行了之后-现在开始学用pycharm打开项目open file or project选择manage.py 的上一层目录,[一定要是上一层目录,不然可能会出错]打开即可
2020-07-07 01:04:21 232
原创 自学python-Django
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-07-07 00:46:50 172
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人