<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[黄星的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xing_____</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xing_____]]></copyright><item><title><![CDATA[electron修改镜像解决国内安装慢问题]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/114327725</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/114327725</guid><author>xing_____</author><pubDate>Wed, 03 Mar 2021 18:17:17 +0800</pubDate><description><![CDATA[npm config set registry https://registry.npm.taobao.org/
npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/


]]></description><category></category></item><item><title><![CDATA[ipcMain 同步消息，主进程不返回消息会导致进程卡死]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/114327709</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/114327709</guid><author>xing_____</author><pubDate>Wed, 03 Mar 2021 18:16:46 +0800</pubDate><description><![CDATA[主进程
ipcMain.on('synchronous-message', (event, arg) =&gt; {
  console.log(arg) // prints "ping"
  event.returnValue = 'pong' // 不返回消息会导致进程卡死
})

渲染进程
ipcRenderer.on('asynchronous-reply', (event, arg) =&gt; {
  console.log(arg) // prints "pong"
})
ipcRendere]]></description><category></category></item><item><title><![CDATA[electron shell.writeShortcutLink 示例]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/114327678</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/114327678</guid><author>xing_____</author><pubDate>Wed, 03 Mar 2021 18:15:49 +0800</pubDate><description><![CDATA[doc
shell.writeShortcutLink(shortcutPath[, operation], options) Windows

在shortcutPath位置创建或更新一个快捷连接,返回 Boolean - 快捷方式是否被成功创建。


shortcutPath String
operation String (optional) - Default is create, can be one of following:

create - 创建一个新的快捷方式, 如有必要可以覆盖。
up]]></description><category></category></item><item><title><![CDATA[electron+vue 环境配置]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/114327618</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/114327618</guid><author>xing_____</author><pubDate>Wed, 03 Mar 2021 18:15:22 +0800</pubDate><description><![CDATA[安装vue脚手架
npm install -g @vue/cli

创建vue项目
vue create electron-vue-demo

安装electron
vue add electron-builder


]]></description><category></category></item><item><title><![CDATA[electron+vue集成环境组件内导入 electron/node 模块的几种方法]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/114327513</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/114327513</guid><author>xing_____</author><pubDate>Wed, 03 Mar 2021 18:13:27 +0800</pubDate><description><![CDATA[通过 vue-cli-plugin-electron-builder 集成的 electron 环境

background.js
webPreferences: {
  // webSecurity: false,// 取消跨域限制
  enableRemoteModule: true, // 取消 Remote 模块警告
  nodeIntegration: true // 是否集成 Nodejs
}

vue 组件
const { ipcRenderer, remote } = window.req.]]></description><category></category></item><item><title><![CDATA[javascript防抖函数]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/110007207</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/110007207</guid><author>xing_____</author><pubDate>Mon, 23 Nov 2020 20:53:43 +0800</pubDate><description><![CDATA[debounce(防抖)

多次执行，最后只执行一次

function debounce(fn, delay = 50) {
  let timer = null
  return function (...args) {
    if (timer) {
      clearTimeout(timer)
    }

    timer = setTimeout(() =&gt; {
      fn(...args)
    }, delay)
  }
}

const debounceObj = ]]></description><category></category></item><item><title><![CDATA[如何禁用元素和子元素的原生点击事件]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/109955795</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/109955795</guid><author>xing_____</author><pubDate>Sun, 22 Nov 2020 16:00:04 +0800</pubDate><description><![CDATA[利用pointer-events: none;样式控制

详细请查阅mdn

&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;如何禁用元素和子元素的原生点击事件&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id="box" style="width: 100px;height: 1]]></description><category></category></item><item><title><![CDATA[js简单观察者模式]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/109754882</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/109754882</guid><author>xing_____</author><pubDate>Tue, 17 Nov 2020 21:38:06 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;title&gt;Title&lt;/title&gt;

&lt;/head&gt;
&lt;body&gt;


&lt;script&gt;

  'use strict'
  // 通过继承实现的观察者模式
  // 将观察者注册进被观察者
  // 当被观察者a属性name改变，观察者b的属性随之改变

  /]]></description><category></category></item><item><title><![CDATA[javascript大数处理之相加]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/109743781</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/109743781</guid><author>xing_____</author><pubDate>Tue, 17 Nov 2020 15:22:51 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;title&gt;Title&lt;/title&gt;

&lt;/head&gt;
&lt;body&gt;


&lt;script&gt;

  'use strict'

  // 安全整数
  let max = Number.MAX_SAFE_INTEGER
  console.log(max)

  co]]></description><category></category></item><item><title><![CDATA[简单观察者模式]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/109723423</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/109723423</guid><author>xing_____</author><pubDate>Mon, 16 Nov 2020 16:09:19 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;title&gt;Title&lt;/title&gt;

&lt;/head&gt;
&lt;body&gt;


&lt;script&gt;
  
  'use strict'
  // 观察者模式
  // 当被观察者a属性name改变，观察者b的属性随之改变

  // 被观察者
  const a = {}
]]></description><category></category></item><item><title><![CDATA[runtime模式区别]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/109716783</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/109716783</guid><author>xing_____</author><pubDate>Mon, 16 Nov 2020 11:07:05 +0800</pubDate><description><![CDATA[runtime模式区别
compirler

template-&gt;ast-&gt;render-&gt;vdom-&gt;UI

only

render-&gt;vdom-&gt;UI

从流程上来看only模式节省了代码量
##依赖
利用的插件
vue-template-compirler 将template转化成render函数

]]></description><category></category></item><item><title><![CDATA[css样式初始化]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/109716758</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/109716758</guid><author>xing_____</author><pubDate>Mon, 16 Nov 2020 11:06:06 +0800</pubDate><description><![CDATA[样式初始化


normalize.css
https://github.com/necolas/normalize.css


自定义初始化
*,*::before,*::after{
    padding: 0;
    margin: 0;

    /*让边框不占据宽度*/
    box-sizing:border-box;
    -moz-box-sizing:border-box; /* Firefox */
}

body{
    font-family: 'Helvetica Neu]]></description><category></category></item><item><title><![CDATA[模块化简介]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/109716702</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/109716702</guid><author>xing_____</author><pubDate>Mon, 16 Nov 2020 11:04:41 +0800</pubDate><description><![CDATA[模块化简介
##commonjs
commonjsLib.js
function sum(a,b) {
  return a+b;
}

function dem(a,b){
  return a-b;
}

module.exports = {
  sum,
  dem
}

main.js
const {sum,dem} = require('./commonjsLib.js');

const res = sum(10,20);
console.log(res);

console.log(dem(3]]></description><category></category></item><item><title><![CDATA[react-native textInput 不刷新render清理表单]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/85061974</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/85061974</guid><author>xing_____</author><pubDate>Tue, 18 Dec 2018 11:12:59 +0800</pubDate><description><![CDATA[利用自带的clear()方法
ref={input =&amp;gt; { this.passwordClear = input}}
// this.passwordClear 自定义方法

完整代码
import React from 'react';
import {
  StyleSheet,
  Text, TouchableHighlight,
  View,
  TextInput,
  Al...]]></description><category></category></item><item><title><![CDATA[React-Native项目在Android真机上调试]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/84991305</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/84991305</guid><author>xing_____</author><pubDate>Thu, 13 Dec 2018 16:52:50 +0800</pubDate><description><![CDATA[React-Native项目在Android真机上调试？接下来直奔主题，通过USB将手机和电脑连接，打开手机上的USB调试。不通型号的手机可能设置方式不一样，这里具体不在细说……

确保你的设备已经成功连接。可以终端输入adb devices来查看:

adb devices
List of devices attached
&quot;Your device Name&quot; device


注意：为避免调试...]]></description><category></category></item><item><title><![CDATA[React-Navigation-TabNavigator add badge]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/84945566</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/84945566</guid><author>xing_____</author><pubDate>Mon, 10 Dec 2018 20:10:51 +0800</pubDate><description><![CDATA[
npm -i --save react-native-tab-navigator


/**
 * 初始化页面
 */
import React from 'react'
import {StackNavigator, TabNavigator} from &amp;quot;react-navigation&amp;quot;;
import WelcomePage from './WelcomePage';
import Ho...]]></description><category></category></item><item><title><![CDATA[Navigator实现页面跳转]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/84487784</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/84487784</guid><author>xing_____</author><pubDate>Sun, 25 Nov 2018 14:00:40 +0800</pubDate><description><![CDATA[
reaact-native version:0.57

app.js
/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 *
 * @format
 * @flow
 */

import React, {Component} from 'react';
import {
  Platform,
...]]></description><category></category></item><item><title><![CDATA[react中的使用日期控件 bootstrap-datetime-picker]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/84286298</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/84286298</guid><author>xing_____</author><pubDate>Tue, 20 Nov 2018 10:25:07 +0800</pubDate><description><![CDATA[引入jquery 和 bootstrap-datetime-picker
&amp;lt;script src=&quot;/cx/tpl/Support/search/node_modules/jquery/dist/jquery.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;/cx/tpl/Support/search/node_modules/bootstrap-dat...]]></description><category></category></item><item><title><![CDATA[webpack4完全配置(js分组打包分模块打包压缩提取备注和css压缩打包)]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/84286122</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/84286122</guid><author>xing_____</author><pubDate>Tue, 20 Nov 2018 10:22:43 +0800</pubDate><description><![CDATA[const webpack = require('webpack');
const path = require('path');


/**
 * Plugin that simplifies creation of HTML files to serve your bundles
 * npm i --save-dev html-webpack-plugin
 * @type {HtmlWeb...]]></description><category></category></item><item><title><![CDATA[es5继承、多重继承、原型链]]></title><link>https://blog.youkuaiyun.com/xing_____/article/details/84285906</link><guid>https://blog.youkuaiyun.com/xing_____/article/details/84285906</guid><author>xing_____</author><pubDate>Tue, 20 Nov 2018 10:19:30 +0800</pubDate><description><![CDATA[原型链
JavaScript 规定，所有对象都有自己的原型对象（prototype）。一方面，任何一个对象，都可以充当其他对象的原型；另一方面，由于原型对象也是对象，所以它也有自己的原型。因此，就会形成一个“原型链”（prototype chain）：对象到原型，再到原型的原型……
如果一层层地上溯，所有对象的原型最终都可以上溯到Object.prototype，即Object构造函数的proto...]]></description><category></category></item></channel></rss>