环境配置新建项目create-react-app redux-meme-generator
安装插件npm i -S redux react-redux redux-thunk react-bootstrap
文件结构运行项目npm run start,清空src下的文件,建立index.js,引入react和react-dom。并在src下新建component、actions、reducer文件夹。
src/index.js
1234567891011121314151617181920import React from 'react';import ReactDOM from 'react-dom';import App from './component/App';import {createStore, applyMiddleware} from 'redux';import rootReducer from './reducer';impor ...
本文重点记录使用React Native构建双平台App的过程,同时进一步掌握构建过程中运用的技术。
搭建开发环境**安装react-native-cli**:npm i -g react-native-cli
Android SDK安装Android SDK并启动进行配置:
配置环境变量
123export ANDROID_HOME=~/Library/Android/sdkexport PATH=${PATH}:${ANDROID_HOME}/toolsexport PATH=${PATH}:${ANDROID_HOME}/platform-tools
Android 虚拟机设定Genymotion的Android SDK 位置(Android SDK 的路径可以在 SDK Manager 上找到)。

模拟器有多款模拟器可供选择,Android Studio自带,Genymotion和夜神模拟器,推荐选择夜 ...
安装编译工具
12345678910"scripts": { "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\"", "lite": "lite-server", "tsc": "tsc", "tsc:w": "tsc -w"},"devDependencies": { "concurrently": "^5.0.0", "lite-server": "^2.5.4"}
1234567891011121314151617181920212223242526272829303132{ "compilerOpt ...
项目需求:1、用nodejs的socket.io写了一个简易版的聊天室(实时推送技术,无刷新实现信息实时更新,应用于在线聊天室、在线客服系统、评论系统和WebIM等)
2、根据socket.io库给出的api以及《nodejs实战》给出的demo实现了, 也只是很基础的, 但放到服务器上后会有网络延迟, 顺序不正确等问题
3、看过网上的资料, 没看到有解释很全或者投入生产环境的代码, 都是一些demo
想请教前辈, 对于一个业务开发中常用的聊天室模块:
1、应该如何去思考呢?2、整个过程会涉及到哪些知识点?3、会有哪些难点呢?(比如支持高并发啥的)4、应该注意什么呢?(比如如何测试或者啥的?)
解决方案需求分析:
实现在线聊天室的基本功能,包括显示在线用户的个人信息
用户进行实时聊天,信息推送实时更新
其他可扩展功能
技术栈分析socket.io是一个开源WebSocket库,它通过Node.js实现WebSocket服务端,同时提供客户端JS库。socket.io支持以事件为基础的实时双向通讯,可以工作在任何平台、浏览器或移动设备。
Node.js+ ...
入口和出口
单个入口12345module.exports = { entry: { main: './index.js', },};
多个入口(数组)123456module.exports = { entry: ['./index1.js', './index2.js'], output: { filename: './dist/bundle.js', },};
多个入口(对象)123456789101112131415161718192021// webpack.config.jsmodule.exports = { entry: { main: './src/app.js', vendor: './src/vendor.js' }};// webpack.prod.jsmodule.exports = & ...
VSCode配置12345678910111213141516171819202122232425262728293031323334353637383940// .prettierrc.jsmodule.exports = { // 一行最多多少个字符 printWidth: 150, // 指定每个缩进级别的空格数 tabWidth: 2, // 使用制表符而不是空格缩进行 useTabs: true, // 在语句末尾打印分号 semi: true, // 使用单引号而不是双引号 singleQuote: true, // 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>" quoteProps: 'as-needed', // 在JSX中使用单引号而不是双引号 jsxSingleQuote: false, // 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none trai ...
书籍汇总
文墨千秋
点墨人间
泼墨山河
醉墨红尘
染墨浮生
论语
山海经
古文观止
东周列国志
茶经
孟子
周易
诗经
封神演义
黄帝内经
老子
尚书·礼记
楚辞
儒林外史
神农本草经
庄子
世说新语
唐诗三百首
聊斋志异
千金方
鬼谷子
左传
宋词三百首
镜花缘
本草纲目
孙子兵法
史记
元曲三百首
红楼梦
汤头歌
三十六计
三国志
纳兰词
西游记
菜根谭
资治通鉴
人间词话
水浒传
了凡四训
中国通史
三国演义
传习录
CSS间隙装饰模块CSS间隙装饰模块在现有column-rule-width、column-rule-style和column-rule-color属性的基础上进行扩展:新值行方法(row direction)的等效属性,将其应用范围延伸至其他容器布局类型,并提供对间隙装饰绘制位置与方式的精确控制。
间隙装饰CSS中多栏容器(multicol)、弹性容器(flex)、网格容器(grid)和瀑布流容器(masonry)等布局方式会将子元素(box)相邻排列,并在它们之间形成间隙(即gap,也称为gutter)。这些间隙可以包含“间隙装饰”(gap decoration),即绘制在相邻子元素之间的视觉分隔元素(例如线条)。
12345678910111213141516.grid-width-spans { display: grid; grid-template: repeat(4, 100px) / repeat(4, 100px); gap: 20px; -webkit-row-rule: 6px solid red; column-rule: 6px solid ...
兼容多种渲染场景12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364// /pages/message/index.vue<template><scroll-view scroll-y class="scroll"> <view id="editor" class="editor" v-if="showWebview"></view> <rich-text class="editor" :nodes="selectInfo.details" :preview="true" v-else></rich-text></scroll-view></template>< ...





