<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cygdxcw的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cygdxcw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cygdxcw]]></copyright><item><title><![CDATA[云服务器使用nginx部署web项目(ubuntu操作系统)]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/119988073</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/119988073</guid><author>cygdxcw</author><pubDate>Mon, 30 Aug 2021 01:23:31 +0800</pubDate><description><![CDATA[打开安全组添加入方向规则

这里我自定义了一个8000端口
防火墙中开启对应端口
进入linux命令之后，首次使用需要安装firewall
sudo apt install firewalld

查看所有打开的端口：
firewall-cmd --zone=public --list-ports

添加自定义的端口：
firewall-cmd --zone=public --add-port=8000/tcp --permanent （–permanent永久生效，没有此参数重启后失效）

注意，添加后需要]]></description><category></category></item><item><title><![CDATA[generator函数及async的简单实现]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/115758606</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/115758606</guid><author>cygdxcw</author><pubDate>Fri, 16 Apr 2021 19:38:24 +0800</pubDate><description><![CDATA[generator函数概念
Generator函数是ES6提供的一种异步编程解决方案，从语法上，Generator函数一个状态机，封装了多个内部状态。
Generator函数被调用之后，返回遍历器对象，每次调用.next()方法，会执行到下一个yield语句之前。
function* gen(x){
            var res1 = yield x + 1;
            var res2 = yield x + 2;
            var res3 = yield x + ]]></description><category></category></item><item><title><![CDATA[python下载安装及在vscode中使用]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/114786925</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/114786925</guid><author>cygdxcw</author><pubDate>Sun, 14 Mar 2021 14:38:34 +0800</pubDate><description><![CDATA[1.下载安装:
选择:Windows installer (64-bit)

勾选add python 3.6 to Path则不与要手动配置环境变量.后续安装步骤跟着提示来就好.
2.vscode插件安装及配置
(1):安装python插件,默认解释器不作更改.
(2):设置-&gt;首选项-&gt;

重启编辑器,在编写python代码时会有提示.

此处不要勾选,在网上查找教程时看到博客上要勾选该按钮,勾选之后代码智能提示反而没了.
3.运行
(1):f

...]]></description><category></category></item><item><title><![CDATA[可视化常用数学公式]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/113308565</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/113308565</guid><author>cygdxcw</author><pubDate>Thu, 28 Jan 2021 10:00:49 +0800</pubDate><description><![CDATA[1：求旋转之后的向量：
x1 = x0cosB - y0sinB
y1 = y0cosB + x0sinB


]]></description><category></category></item><item><title><![CDATA[class类和构造函数]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/104585533</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/104585533</guid><author>cygdxcw</author><pubDate>Sun, 01 Mar 2020 00:35:46 +0800</pubDate><description><![CDATA[在es5中的构造函数：
function Es5(name,age){
	this.name = name
	this.age = age
	this.fn = funtion(){
		return this.name+this.age
	}
}
var es5 = new Es5('es5构造函数'，18)

在es6中的class类：
class Es6{
	constructor(name...]]></description><category></category></item><item><title><![CDATA[webpack.config文件的配置]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/104107337</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/104107337</guid><author>cygdxcw</author><pubDate>Wed, 29 Jan 2020 16:08:10 +0800</pubDate><description><![CDATA[module.exports = {
		entry:'./entry.js',//入口
		output:{
			path:__dirname,//根路径
			filename:'bundle.js'//出口文件名
		}，
		devtool:'source-map',//方便在线调试
		module:{
			rules:[
				{
					test:/\.css$/,//正则匹...]]></description><category></category></item><item><title><![CDATA[vue知识点总结]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/104063612</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/104063612</guid><author>cygdxcw</author><pubDate>Tue, 21 Jan 2020 17:29:21 +0800</pubDate><description><![CDATA[1.使用sass报 TypeError: this.getResolve is not a function at Object.loader
可能是sass版本过高，一开始安装的是8.0的版本，换成npm install sass-loader@7.3.1就好了。
2.vue单页面引入其他css文件：
@import ‘…/…’;  一定要加分号，不加会报错。
3.sass中的@mixin，@i...]]></description><category></category></item><item><title><![CDATA[vue插槽]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/103634109</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/103634109</guid><author>cygdxcw</author><pubDate>Fri, 20 Dec 2019 16:21:53 +0800</pubDate><description><![CDATA[1.v-slot基本用法：
如果不使用插槽，在父组件的子组件标签内部写的内容是无效的，这就是插槽的作用，使用具名插槽更清晰明了：
父组件中：
&lt;template&gt;
    &lt;div&gt;
        &lt;child1&gt;
        //注意 v-slot 只能添加在 &lt;template&gt; 上 (只有一种例外情况)，这一点和已经废弃的 slot 特性...]]></description><category></category></item><item><title><![CDATA[vue .sync $attrs $listener父子组件，多级组件通信]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/103619117</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/103619117</guid><author>cygdxcw</author><pubDate>Fri, 20 Dec 2019 10:30:59 +0800</pubDate><description><![CDATA[1..sync的使用：
.sync修饰符的作用就是更方便的实现父子组件间双向数据绑定，以前要实现父子组件双向数据绑定要这样做：
父组件：
&lt;template&gt;
    &lt;div&gt;
       &lt;child1 :num="faNum" @update="val=&gt;{faNum=val}"/&gt;
    &lt;/div&gt;
&lt;/template&g...]]></description><category></category></item><item><title><![CDATA[正则表达式校验，input允许输入内容限制]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/103611039</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/103611039</guid><author>cygdxcw</author><pubDate>Thu, 19 Dec 2019 12:06:17 +0800</pubDate><description><![CDATA[1.exec和match检索字符串
var patrn=/0?(13|14|15|17|18|19)[0-9]{9}/;
let s = '15071447702'
if(patrn.exec(s)==null){}
//~~~~~~~~~~~~~~~~~~~~~~~~~~
var reg = /[\u4e00-\u9fa5]/;
 var r = 'sdf23折了'.match(reg);
if...]]></description><category></category></item><item><title><![CDATA[pointer-events用法]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/102838924</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/102838924</guid><author>cygdxcw</author><pubDate>Thu, 31 Oct 2019 15:47:32 +0800</pubDate><description><![CDATA[用c3做动效的时候遇到层级问题很不好处理，导致前面的元素影响后面元素的鼠标事件。被这个问题困扰好久突然想到有没有什么属性能让元素被虚化，点击事件可以渗透。发现了这个神奇的用法。
svg之外的元素支持两个值：none和auto.
auto是默认值就不解释了。
none:MDN上的解释是这样的，元素永远不会成为鼠标事件的target。但是，当其后代元素的pointer-events属性指定其他值时，鼠...]]></description><category></category></item><item><title><![CDATA[百度统计前端导出数据]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/102476945</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/102476945</guid><author>cygdxcw</author><pubDate>Thu, 10 Oct 2019 16:35:27 +0800</pubDate><description><![CDATA[1.https://tongji.baidu.com/api/debug/
进入统计调试工具后，要求输入用户名，密码，token。

2.接下来api选择，以统计网站概况趋势数据（网站每日访问量pv,uv）为例：
（1）：api选择获取站点报告数据
（2）：选择报告类型为网站概况（趋势数据）
（3）：参数填写：站点id（你要统计的网站的id）,查询起始时间，网站基础指标等。选择提交


3.提交之...]]></description><category></category></item><item><title><![CDATA[纯前端导出word文档]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/101681665</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/101681665</guid><author>cygdxcw</author><pubDate>Sun, 29 Sep 2019 12:31:59 +0800</pubDate><description><![CDATA[实现这个功能时参考了两处文档，但是都有兼容性问题一个是不兼容ie,一个是只能在ie中使用，不过正好互补了，下面是结合两处文档之后的。（摘自想要飞翔的小猪和iteye_10362的博客。）
注意：ActiveXObject是ie特有的，在其他浏览器上会报错，也可根据ActiveXObject对象判断当前是否为ie浏览器。 $("#test2").wordExport(“客户评价”);是非ie的方法，...]]></description><category></category></item><item><title><![CDATA[jquery源码分析（2）（2.0版本）]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/101025741</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/101025741</guid><author>cygdxcw</author><pubDate>Thu, 19 Sep 2019 17:44:59 +0800</pubDate><description><![CDATA[1.参数为什么传window和undefined：
(function(window,undefined){
})(window)

1.（1）根据作用域链的原理，传入window参数之后，能提高查找速度。（2）.便于压缩。
2.传入undefined，防止undefined在外部被修改。
2.变量rootjQuery，core_strundefined
866行：rootjQuery = jQu...]]></description><category></category></item><item><title><![CDATA[原型链及继承]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/100718484</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/100718484</guid><author>cygdxcw</author><pubDate>Wed, 11 Sep 2019 00:58:09 +0800</pubDate><description><![CDATA[function Person(name,age,sorce){
		this.name = name;
		this.age = age;
		this.sorce = sorce
	}
	Person.prototype.say = function(){
		console.log(this.name)
	}
	let p1 = new Person('zhang',18,'boy')
	...]]></description><category></category></item><item><title><![CDATA[token,axios拦截器,导航守卫使用]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/100715577</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/100715577</guid><author>cygdxcw</author><pubDate>Tue, 10 Sep 2019 23:33:43 +0800</pubDate><description><![CDATA[1.登陆成功之后,将token存储在localStorage
localStorage.setItem('token',res.data.token)

2.请求数据需要用到token的页面:
let token = localStorage.getItem('token')
axios.get('url',{
headers:{Authorization:token},
	params:{
		...]]></description><category></category></item><item><title><![CDATA[ES6语法]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/100523079</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/100523079</guid><author>cygdxcw</author><pubDate>Wed, 04 Sep 2019 12:49:40 +0800</pubDate><description><![CDATA[一.扩展运算符
1.合并多个数组：
let arr1 = [1,2,3,5] 	let arr2 = [4,5,6,7] 	let newArr = [...arr1,...arr2]
2.合并对象：
let obj1 = {name:'zs'}
let obj2 = {age:18}
let newObj = {...obj1,...obj2}
console.log(newObj)//{nam...]]></description><category></category></item><item><title><![CDATA[...mapState,...mapMutations使用]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/100520793</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/100520793</guid><author>cygdxcw</author><pubDate>Tue, 03 Sep 2019 16:23:40 +0800</pubDate><description><![CDATA[1.新建store仓库。
这里我是把store单独抽离出来，放在store.js里：
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
var store = new Vuex.Store({
    state:{
      car:'ha'
    },
    mutations:{
      addToCar(sta...]]></description><category></category></item><item><title><![CDATA[浏览器默认主页被篡改（chrome,IE）]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/99819176</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/99819176</guid><author>cygdxcw</author><pubDate>Tue, 20 Aug 2019 10:14:52 +0800</pubDate><description><![CDATA[下载软件时不慎让chrome和IE的默认主页被这些流氓程序篡改，看着满屏辣眼睛的广告，哪有心情继续用啊。。。
chrome解决方法：

1.如上图chrome右键属性&gt;快捷方式&gt;目标
低级的篡改，“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” --flag-switches-begin --flag-switc...]]></description><category></category></item><item><title><![CDATA[echarts地图（中国地图展示各省数据）]]></title><link>https://blog.youkuaiyun.com/cygdxcw/article/details/98216184</link><guid>https://blog.youkuaiyun.com/cygdxcw/article/details/98216184</guid><author>cygdxcw</author><pubDate>Fri, 02 Aug 2019 18:07:41 +0800</pubDate><description><![CDATA[最终效果：

1.引入：
npm i echarts --save
main.js中：
import echarts from ‘echarts’
Vue.prototype.$echarts = echarts
2.地图初始化：
使用地图的文件中（map.vue）：
import ‘echarts/map/js/china.js’

...]]></description><category></category></item></channel></rss>