021--自找麻烦之 react

1. 页面加载过程: url解析-dns解析-资源请求-浏览器解析

2. url结构: 协议 + 域名 + 端口 + 路径 + 参数 + 哈希 (前端页面的锚点,如#title)

3. dns查询: 浏览器--dns缓存+dns服务器

4. dns-prefetch:有指定如下rel就可以主动缓存该url对应的ip地址(优化性能)

<link rel="dns-prefetch" href="//cdn.bootcss.com">

5. 资源请求: 浏览器(携带信息:请求头+参数(url或body))--后端服务器(返回:状态+ 响应头+ body)

6. 浏览器解析: DOM(js执行)-- 构建渲染树 -- 布局 -- 绘制

7. nodejs的偶数版本才是稳定版,奇数版本是测试版

8. Yarn 替代 npm :速度快,版本锁定,缓存机制 

        npm i yarn -g

9. 在项目目录: yarn init   生成 package.json   , yarn add webpack@3.10.0 --dev  安装 webpack ,新建webapck.config.js

const path = require('path');

 

module.exports = {

entry: './src/app.js',

output: {

path: path.resolve(__dirname,'dist'),

filename: 'app.js'

}

}

新建 src/app.js 随便在app.js 中写点东西  执行命令: node_modules/.bin/webpack  ;

 

yarn add html-webpack-plugin@2.30.1 --dev

yarn add babel-core@6.26.0 babel-preset-env@1.6.1 babel-loader@7.1.2 --dev

yarn add babel-preset-react@6.24.1 --dev

 

yarn add react@16.2.0 react-dom@16.2.0

yarn add style-loader@0.19.1 css-loader@0.28.8 --dev

yarn add extract-text-webpack-plugin@3.0.2 --dev

yarn add sass-loader@6.0.6 --dev

yarn add node-sass@4.7.2 --dev

yarn add file-loader@1.1.6 url-loader@0.6.2 --dev

在webpack.config.js 文件中添加

{
  "name": "reactAdmin",
  "version": "1.0.0",
  "main": "index.js",
  "repository": "git@gitee.com:xiajibaguo/reactAdmin.git",
  "author": "",
  "license": "MIT",
  "scripts": {
    "dev": "node_modules/.bin/webpack-dev-server",
    "dist": "node_modules/.bin/webpack -p" 
  },
  "devDependencies": {
    "babel-core": "6.26.0",
    "babel-loader": "7.1.2",
    "babel-preset-env": "1.6.1",
    "babel-preset-react": "6.24.1",
    "css-loader": "0.28.8",
    "extract-text-webpack-plugin": "3.0.2",
    "file-loader": "1.1.6",
    "html-webpack-plugin": "2.30.1",
    "node-sass": "4.7.2",
    "sass-loader": "6.0.6",
    "style-loader": "0.19.1",
    "url-loader": "0.6.2",
    "webpack": "3.10.0",
    "webpack-dev-server": "2.9.7"
  },
  "dependencies": {
    "font-awesome": "^4.7.0",
    "react": "16.2.0",
    "react-dom": "16.2.0"
  }
}

继续执行 node_modules/.bin/webpack

使用 webpack-dev-server 

 

yarn add webpack-dev-server@2.9.7 --dev

node_modules/.bin/webpack-dev-server

在package.json中配置完scripts后就 可以用 yarn run dev   yarn run dist

10. mac本地电脑安装完git后,要配置 .gitconfig 文件

        git --version  , vim ~/.gitconfig 

[user]
	name = 郑
	email = zhenghongyang@dayugame.net
[alias]      // 这里配置命令的简写
	co = checkout
	br = branch
	ci = commit
	st = status
        pl = pull
        ps = push
        dt = difftool
        ca = commit -am

11. 本地电脑拉取git仓库后添加.gitignore文件

.DS_Store
node_modules
dist
*.log

 

12. font-awesome 一套绝佳的字体库

yarn add font-awesome

webpack.config.js文件中要对字体进行处理

{

test: /\.(eot|svg|ttf|woff|woff2|otf)$/,

use: [

{

loader:'url-loader',

options:{

limit: 8192

}

}

]

}


13. 用create-react-app 来构建一个react 项目

yarn global add create-react-app

create-react-app react-test

cd react-test

yarn start

执行 yarn eject 会把项目的配置文件夹暴露出来

 实践过,不好用,有点bug,不推荐使用

14.  终端执行 open .  就会打开当前文件目录

15. git 为了完整可用版本带标签: 

 

git tag tag-initial

git push origin tag-initial

16. 常见 Router : 页面Router  ,Hash Router ,H5 Router

17. 页面路由--整个页面重新加载,

window.location.href = "http:www.baidu,com";

回退用: history.back();

哈希路由--就是在url后面加"#test"类似这种东西,页面不刷新,只是一种状态

window.location.href = "#test";
window.onhashchange = function (){   // 这个函数用来监听哈希值的变化,一变就触发
  console.log('current hash:',window.location.hash)
}

        H5路由 也是不刷新页面的

history.pushState('test','Title','/user/index')
history.replaceState('test','Title','/user/index')
window.onpopstate = function(){
  console.log(window.location.href);
  console.log(window.location.pathname);
  console.log(window.location.hash);
  console.log(window.location.search);
}

18. React-Router  : browserRouter 和 hashRouter 两种

 

yarn add react-router-dom@4.2.2

 

19. react 使用 bootstrap 与 font-awesome 直接在index.html 下引用cdn的源文件就行,所以之前安装的font-awesome卸载掉

 

 

yarn remove font-awesome

20. jsx 文件注释用 {/*  ....  */}




 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值