<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[csfsl的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csfsl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csfsl]]></copyright><item><title><![CDATA[npm install 报错 EPERM: operation not permitted, mkdir xxx]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/121053405</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/121053405</guid><author>csfsl</author><pubDate>Sat, 30 Oct 2021 22:40:24 +0800</pubDate><description><![CDATA[npm install 报错
 FetchError: Invalid response body while trying to fetch https://registry.npm.taobao.org/express: EPERM: operation not permitted, mkdir 'D:\Program Files\nodejs\node_cache\_cacache'

解决办法：删除“C:\Users\用户名”目录下的.npmrc文件。

...]]></description><category></category></item><item><title><![CDATA[window系统下Node.js安装以及环境变量配置]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/117450522</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/117450522</guid><author>csfsl</author><pubDate>Tue, 01 Jun 2021 22:36:25 +0800</pubDate><description><![CDATA[一、Node.js安装
1.首先在Node官网上下载对应的安装包，我这里下载的是64位window系统的安装文件node-v14.17.0-x64.msi

2. 双击安装文件，开始node.js安装
3. 点击下一步

4.勾选同意选项，并点击下一步

5.选择node.js的安装目录，我这里选择安装在D盘（D:\Program Files\nodejs）

6.接着一直点击下一步到以下界面，点击安装

7. 完成安装

8.在cmd命令行中验证，出现以下情况即表示安装成功
node -v
npm -v
]]></description><category></category></item><item><title><![CDATA[vue项目优化之生产环境去掉console]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/109031677</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/109031677</guid><author>csfsl</author><pubDate>Mon, 12 Oct 2020 22:12:14 +0800</pubDate><description><![CDATA[使用插件：babel-plugin-transform-remove-console

第一步：插件安装

npminstallbabel-plugin-transform-remove-console--save-dev

第二部：通过babel.config.js文件引入插件


const prodPlugins = process.env.NODE_ENV === 'production' ? ['transform-remove-console'] : []
module.exports =...]]></description><category></category></item><item><title><![CDATA[微信开发者工具打开黑屏解决办法]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108589086</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108589086</guid><author>csfsl</author><pubDate>Mon, 14 Sep 2020 21:56:54 +0800</pubDate><description><![CDATA[电脑：win32

微信开发者工具安装完成后，打开黑屏。

解决办法：打开C:\Users\Administrator\AppData\Local\微信开发者工具\User Data\一串字符的文件夹\WeappLocalData 放置这个文件：https://share.weiyun.com/5cgH1EO（文件下载地址，下载使用）。

就可以了。
...]]></description><category></category></item><item><title><![CDATA[compass笔记]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108578499</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108578499</guid><author>csfsl</author><pubDate>Mon, 14 Sep 2020 15:52:58 +0800</pubDate><description><![CDATA[一、项目初始化

在命令行键入：compass create myproject

当前目录中就会生成 .sass-cache 、myproject两个子目录。



进入myproject目录，里面有一个config.rb文件，这是项目的配置文件。还有两个子目录sass和stylesheets，前者存放Sass源文件，后者存放编译后的css文件。



接下来，就可以动手写代码了。

二、编译

Compass的编译命令是：compass compile

该命令在项目根目录下运行，会将sass子目录中的]]></description><category></category></item><item><title><![CDATA[JavaScript：关于原型]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108538049</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108538049</guid><author>csfsl</author><pubDate>Fri, 11 Sep 2020 18:19:55 +0800</pubDate><description><![CDATA[无论什么时候，只要创建了一个新函数，就会根据一组特定的规则为该函数创建一个prototype属性，这个属性指向函数的原型对象。

在默认情况下，所有原型对象都会自动获得一个constructor（构造函数）属性，这个属性是一个指向prototype属性所在函数的指针。


首先，定义一个函数。


function Person() {
}

然后，打印它的原型。


console.log('Person.prototype ==&gt; ', Person.prototype);

控制台输出如下：
.]]></description><category></category></item><item><title><![CDATA[记录：windows系统安装Sass、Compass]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108529086</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108529086</guid><author>csfsl</author><pubDate>Fri, 11 Sep 2020 12:23:26 +0800</pubDate><description><![CDATA[一、安装Ruby

1、安装Ruby

Sass基于Ruby语言开发而成，因此windows下安装Sass前需要安装Ruby。先从官网下载Ruby并安装。

Ruby官网下载地址：https://rubyinstaller.org/downloads/

根据电脑配置选择对应版本。因为我是32位的系统，所以选择了x86。



下载完成后，双击进行安装。（默认安装目录在C盘，可以根据需要进行修改，我改到了D盘，D:\Program Files\Ruby27）



安装过程中跳出cmd窗口，让选择将要安装的]]></description><category></category></item><item><title><![CDATA[JavaScript中的布尔操作符（逻辑非、逻辑与、逻辑或）]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108500990</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108500990</guid><author>csfsl</author><pubDate>Wed, 09 Sep 2020 21:02:53 +0800</pubDate><description><![CDATA[一、逻辑非 !
! 可以用于ECMAScript中的任何值。无论这个值是什么数据类型，这个操作符都会返回一个布尔值。! 首先会将它的操作数转换为一个布尔值，然后再对其求返。! 遵循下列规则：

同时使用两个 ! ，实际上就会模拟Boolean()转型函数的行为。
二、逻辑与 &amp;&amp;
&amp;&amp; 可以用于任何类型的操作数，而不仅仅是布尔值。在有一个操作数不是布尔值的情况下，&amp;&amp; 操作就不一定返回布尔值。此时，它遵循如下规则：

如果第一个操作数是对象，则返回第二个操作数]]></description><category></category></item><item><title><![CDATA[vue、nginx配置axios跨域]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108477510</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108477510</guid><author>csfsl</author><pubDate>Tue, 08 Sep 2020 21:29:29 +0800</pubDate><description><![CDATA[组件中发起跨域请求：
this.$axios.get('/tengxun/location/v1/ip',{
	params: {
		key: this.tengxunKey,
		ip : this.ip
	}
})
.then()
.catch()

vue.config.js配置如下：
module.exports = {
 	devServer: {
	    proxy: {
	    	'/tengxun': {
	    		target: 'https://apis.map.qq.com/]]></description><category></category></item><item><title><![CDATA[记录windows系统中安装nginx]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108474539</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108474539</guid><author>csfsl</author><pubDate>Tue, 08 Sep 2020 20:31:39 +0800</pubDate><description><![CDATA[一、下载nginx并解压（windows版本）
下载地址：http://nginx.org/en/download.html
下载版本：nginx/Windows-1.18.0


二、安装nginx
双击nginx.exe进行安装。
cmd中运行tasklist命令，查看nginx进程。
----------tasklist /fi “imagename eq nginx.exe”
如果出现以下信息就说明安装完成了。

也可以运行nginx -v验证是否安装完成。

三、修改nginx.conf
文件路径]]></description><category></category></item><item><title><![CDATA[js 将数值转换为固定位数的小数（四舍五入）]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/108007969</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/108007969</guid><author>csfsl</author><pubDate>Fri, 14 Aug 2020 16:44:55 +0800</pubDate><description><![CDATA[const num=99;
const num2=99.999;
const toFloat=num.toFixed(2);
const toFloat2=num2.toFixed(2);
console.log(toFloat);                //输出99.00
console.log(toFloat2);                //输出100.00


]]></description><category></category></item><item><title><![CDATA[exec()、match()]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107784414</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107784414</guid><author>csfsl</author><pubDate>Tue, 04 Aug 2020 14:54:09 +0800</pubDate><description><![CDATA[exec()与match()的区别：

1.exec()是正则表达式的方法，而不是字符串的方法，它的参数才是字符串。

2.当正则表达式无子表达式，并且定义为非全局匹配时，exec()和match()执行的结果是一样，均返回第一个匹配的字符串内容。


var str="00css3 HTML5";
var reg=/\w+/;
console.log(str.match(reg));
console.log(reg.exec(str));



3.当正则表达式无子表达式，并且定义为全局匹配时，match]]></description><category></category></item><item><title><![CDATA[正则表达式]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107779336</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107779336</guid><author>csfsl</author><pubDate>Tue, 04 Aug 2020 13:10:43 +0800</pubDate><description><![CDATA[一、正则表达式语法

1、创建正则表达式的两种方法

① 字面量形式创建： var expression = /pattern/flags;

说明：模式（pattern）部分可以是任何简单或复杂的正则表达式，可以包含字符类、限定符、分组、向前查找以及反向引用。

每个正则表达式都可带有一或多个标志（flags），用以表明正则表达式的行为。g、i、m 分别用于指定全局模式、不区分大小写模式、多行模式。

② 构造函数创建：var expression = new RegExp("pattern","flag]]></description><category></category></item><item><title><![CDATA[indexOf()、lastIndexOf()、search()、match()、replace()]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107772053</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107772053</guid><author>csfsl</author><pubDate>Mon, 03 Aug 2020 21:44:49 +0800</pubDate><description><![CDATA[1、indexOf()：查找并返回子字符串首次出现的位置，找不到返回-1，区分大小写。

语法：stringObject.indexOf(searchvalue,fromindex)

参数说明：

searchvalue：必需。规定需检索的字符串值。

fromindex：可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数，则将从字符串的首字符开始检索。


var str='My name is Jenny.';
var s]]></description><category></category></item><item><title><![CDATA[git常用命令汇总]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107727146</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107727146</guid><author>csfsl</author><pubDate>Sat, 01 Aug 2020 21:02:47 +0800</pubDate><description><![CDATA[用途
			git命令
			说明
		创建本地仓库
			git init
			当前目录下生成.git文件，用来跟踪管理版本库
		配置用户名
			git config --global user.name "Your Name"
			--global参数表示这台机器上所有的Git仓库都会使用这个配置，当然也可以对某个仓库指定不同的用户名和Email地址。
		配置邮箱
			git config --global user.email "email@example.com"
			--global]]></description><category></category></item><item><title><![CDATA[解决github注册问题]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107725669</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107725669</guid><author>csfsl</author><pubDate>Sat, 01 Aug 2020 09:02:17 +0800</pubDate><description><![CDATA[360、火狐、手机自带浏览器注册时都提示Unable to verify your captcha response. Please visit https://help.github.com/articles/troubleshooting-connectivity-problems/#troubleshooting-the-captcha for troubleshooting information.。



后换成手机网络、百度app，成功注册。
...]]></description><category></category></item><item><title><![CDATA[关于Date.parse()、Date.UTC()、以及date方法valueOf()、getTime()]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107705148</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107705148</guid><author>csfsl</author><pubDate>Fri, 31 Jul 2020 09:09:57 +0800</pubDate><description><![CDATA[1、Date.parse(datestring)：解析一个日期时间字符串，并返回 1970/1/1 午夜距离该日期时间的毫秒数。[此方法为Date的静态方法。一般采用 Date.parse() 的形式来调用，而不是通过 dateobject.parse() 调用该方法。]

格式不正确会返回NaN。

（字符串中的时间默认为当地时间，距1970/1/1世界时的毫秒数）


document.write(Date.parse('1/1/1970')+'&lt;br&gt;');
document.write(]]></description><category></category></item><item><title><![CDATA[new 函数名() 和 函数名()赋值的区别]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107642676</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107642676</guid><author>csfsl</author><pubDate>Tue, 28 Jul 2020 18:46:25 +0800</pubDate><description><![CDATA[赋值方式
			函数无返回值
			函数有返回值
		返回值为基本类型
			返回值为引用类型
		普通赋值
			var person1=Person();
			person1为undefined
			person1为返回值
		构造函数赋值
			var person2=new Person();
			person2为对象
			person2为返回值
		
...]]></description><category></category></item><item><title><![CDATA[javascript中的this]]></title><link>https://blog.youkuaiyun.com/csfsl/article/details/107641253</link><guid>https://blog.youkuaiyun.com/csfsl/article/details/107641253</guid><author>csfsl</author><pubDate>Tue, 28 Jul 2020 18:10:38 +0800</pubDate><description><![CDATA[1、在函数外部使用this，this指的就是window对象。
2、在函数内部使用this，根据函数调用方式，分为3种情况：

普通调用，this指的是window对象。【不管是在函数外还是函数内调用】
函数名();
函数被new调用，this绑定的是新创建的对象。
函数作为某个对象的方法被调用，this指的是这个上级对象。
function test1(){
alert(this.x);		//输出3000
alert(this);		//输出object object
function test2(){]]></description><category></category></item></channel></rss>