BH4FFUBH4FFU

程序员
业余无线电爱好者

create-react-app脚手架创建一个react demo怎么就这么难呢~~

新手上路,请多多关照

0x00 上来就一个错,很快啊...

命令行执行

create-react-app my-app

报错如下:

看图说话,主要有三个问题

  • 控制台输出有乱码
  • C盘下少GTK相关的文件
  • 安装canvas有问题

三个问题中,第一个问题排在首位,毕竟干扰我们排查错误;第二、三个问题按照顺序解决就好了。

0x01 控制台输出乱码问题

编码问题,网上有个多快好省的解决方案:
在当前控制台下执行chcp 65001

至于为什么,暂不深究。理由:不是主线任务,记下来,抽空研究。

0x02 C盘下少GTK相关的文件

文件地址:http://ftp.gnome.org/pub/GNOME/binaries/win64/gtk+/2.22/gtk+-bundle_2.22.1-20101229_win64.zip
下载解压后,放在c:GTK目录下。

GTK是什么?不深究。理由:不是主线任务,记下来,抽空研究。

0x03 安装canvas有问题

网上找到一个链接:Windows下Node.js安装Canvas插件,总结一下文章中提到的几个需要安装的组件及顺序
windows-build-tools -> node-gyp -> GTK2 -> libjpeg-turbo -> Canvas

检查了一下自己机器的环境,下载安装libjpeg-turbo后执行

npm install canvas

至此,眼前的问题都已解决,再执行一下试试

create-react-app my-app

执行

cd my-app
npm start

浏览器访问:http://localhost:3000/

成了!

0x04 回顾

刚暂时忽略的两个问题,拿出来简单做一下了解

  1. chcp 65001 是什么?
  2. GTK是什么?

首先,chcp 65001 是什么?

chcp 65001 是将windows控制台的字符编码切换为UTF-8。

chcp命令
可以解释为:Changes the active console code page
功能:显示或设置活动代码页编号

65001是什么?
是个代码页编号。那除了65001外,还有哪些代码页编号呢?

437—最初的IBM PC代码页,实现了扩展ASCII字符集
737—希腊语
850—“多语言(Latin-1)”(西欧语言)
852—“斯拉夫(Latin-2)”(中欧及东欧语言)
855—西里尔(Cyril)字母
857—土耳其语
858—带欧元符号的“多语言”
860—葡萄牙语
861—冰岛语
863—法语加拿大英语
865—北欧
866—西里尔(Cyril)字母
869—希腊语
874—泰文字母
1250—东欧拉丁字母
1251—古斯拉夫语
1252—西欧拉丁字母ISO-8859-1.
1253—希腊语
1254—土耳其语
1255—希伯来语
1256—阿拉伯语
1257—巴尔
1258—越南
1254—土耳其语
936—简体中文(GBK)
950—繁体中文(大五码)
932—日文(Shift_JIS)
949—韩文(EUC-KR)
20000(CNS)以EUC编码的繁体中文CNS编码
20002(Eten)以EUC编码的繁体中文倚天码
20936(GB2312-80)以EUC编码的简体中文GB2312编码(老设备或嵌入式设备常见)
50227(ISO-2022-GB)简体中文的Esc序列编码,纯ASCII
50229(ISO-2022-CNS)繁体中文的Esc序列编码,纯ASCII
52936(HZ-GB-2312)以~{和~}分隔的简体中文GB2312编码,纯ASCII
54936—简体中文(GB18030)
10000—Macintosh Roman encoding(followed by several other Mac character sets)
10007—Macintosh Cyrillic encoding
10029—Macintosh Central European encoding
1200—UCS-2LE Unicode 小端序
1201—UCS-2BE Unicode 大端序
65000—UTF-7 Unicode
65001—UTF-8 Unicode

内容来自维基百科

第二个问题,GTK是什么?

来自维基百科的解释:

2002年3月11日,GTK2.0版正式发布。GTK 2是GTK后继版本,其新特性包括使用Pango改进的文本渲染、新主题引擎、使用ATK改进的可达性、完全转换到使用UTF-8的Unicode和更灵活的API。但是它和GTK 1不完全兼容,因此必须由程序员做移植工作。由于GTK 1更快、相对更简单或更加适合嵌入式应用,所以还被继续使用。

从GTK 2的2.8版起,它依靠程序库Cairo完成渲染,而这引入了矢量图形的支持。

大概有个印象就好了,关于图形图像渲染有关的组件。

参考链接

代码页是什么?- 维基百科
GTK是什么? - 维基百科

本原创文章未经允许不得转载 | 当前页面:BH4FFU » create-react-app脚手架创建一个react demo怎么就这么难呢~~

评论 8510

文章评论已关闭!