Node Part
1.在程序中通过process.env.npm_lifecycle_event这个变量,可以获得npm run ${XXX}之中的字符串,针对不同的操作做不同的配置
2.0.0.0.0这个IP在windows下可以代表所有没有被标记的ip,具体用途可以是在使用服务器时,将访问端口配置成0.0.0.0,这样就可以在外网对本机服务器进行访问了
3.process.argv数组之中存储的是实际运行的命令 每个执行的js文件保存的字符串都会是完整的路径
4.呵呵react-router居然默认安装的是0.13.0版本,这真是极大的一个坑,值得你调试一天
5.Object.freeze() 方法可以冻结一个对象,冻结指的是不能向这个对象添加新的属性,不能修改其已有属性的值,不能删除已有属性,以及不能修改该对象已有属性的可枚举性、可配置性、可写性。也就是说,这个对象永远是不可变的。该方法返回被冻结的对象。
6.document.documentElement.clientWidth;,document.documentElement.clientHeight;可以获取移动设备的可见高度和宽度,移动端是个大坑,在微信和UC浏览器中显示可能都会有巨大不同;
System Part
1.进程间的内存是无法共享的,线程的内存共享,对一个应用程序开辟多个线程便可以”同时”进行多种操作
2.每个线程都一个自己的帧,帧里面存放了现在的堆栈信息和过程信息;帧里面的信息不会不会混杂到一起
React Native Part
1.运行packager的时候,经常会出现各种各样的问题,在windows上更是坑洞遍地,除了教程里面经常出现的之外,这里再说你两个
如果程序一直卡在find dependencies的状态,并且内存不断攀高,到了一定时间过后告诉你内存达到最大值并推出,不要想太多,这只是因为你没有把包装好,不要使用cnpm装包,而且也一定要注意过程中出现的gyp错误,这个错误的出现是因为,各种包为了适应不同的平台(*inux,windows),选择在npm install过后再进行编译,如果没有编译成功就会抛出错误,为日后开发错误埋下伏笔;
如果报了watchman的错误,可能是因为你没有装全局的watchman也有可能是因为你装了cygwin导致系统认为任务是在linux环境下进行,这个时候需要去掉cygwin的环境变量;当然还有可能是因为你是windows系统,他有几率报错,这个时候要删掉文件里面的watchman 即npm uninstall warchman
2.react-native中的阴影属性仅支持ios系统,安卓只有靠图片来实现了
3.如果需要使用POST发送表单请求,最好是直接用下面这种方式,使用FormData对象传数据的话,会被webkit浏览器强行转换为webkit的一种binary文件,后台容易报400的参数错误;
1 | fetch("http://bilibili-service.daoapp.io/search",{ |