仿简书网站技术栈总结-练习

一、项目技术

1、适配PC半浏览器兼容样式                                              
https://meyerweb.com/eric/tools/css/reset/                  
2、引入依赖                                                      
yarn add redux                                              
yarn add styled-components                                  
yarn add react-redux                                        
yarn add redux-thunk                                        
yarn add immutable                                          
yarn add redux-immutable                                    
yarn add axios                                              
yarn add react-transition-group                             
yarn add react-router-dom                                   
yarn add react-loadable                                     
                                                            
3、发布注意                                                      
(1)package.json添加:"homepage":"./",                          
(2)将BrowserRouter改为HashRouter                               

二、要点总结

1、index.js入口文件

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App'
import {Provider} from 'react-redux'
import store from "./store";
import {GlobalStyle} from "./style";

ReactDOM.render(
        <Provider store={store}>
            <GlobalStyle/>
            <App/>
        </Provider>,
    document.getElementById('root')
);

2、App.js

import Header from "./common/header";
import React from "react";
import {HashRouter, Route} from "react-router-dom";
import Home from './pages/home'
import Detail from './pages/detail/loadable' //异步组件
import Login from './pages/login'
import Write from './pages/write'

function App() {
    return (
        <div>
            <HashRouter>
                <div>
                    <Header/>
                    <Route path={'/'} exact component={Home}></Route>
                    <Route path={'/detail/:id'} component={Detail}></Route>
                    <Route path={'/login'} component={Login}></Route>
                    <Route path={'/write'} component={Write}></Route>
                </div>
            </HashRouter>
        </div>
    );
}

export default App;

3、style.js

import {createGlobalStyle} from 'styled-components'

/**
 * https://meyerweb.com/eric/tools/css/reset/
 **/
export const GlobalStyle = createGlobalStyle`
    html, body, div, span, applet, object, iframe,
    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
    a, abbr, acronym, address, big, cite, code,
    del, dfn, em, img, ins, kbd, q, s, samp,
    small, strike, strong, sub, sup, tt, var,
    b, u, i, center,
    dl, dt, dd, ol, ul, li,
    fieldset, form, label, legend,
    table, caption, tbody, tfoot, thead, tr, th, td,
    article, aside, canvas, details, embed, 
    figure, figcaption, footer, header, hgroup, 
    menu, nav, output, ruby, section, summary,
    time, mark, audio, video {
     margin: 0;
     padding: 0;
     border: 0;
     font-size: 100%;
     font: inherit;
     vertical-align: baseline;
    }
    /* HTML5 display-role reset for older browsers */
    article, aside, details, figcaption, figure, 
    footer, header, hgroup, menu, nav, section {
     display: block;
    }
    body {
     line-height: 1;
    }
    ol, ul {
     list-style: none;
    }
    blockquote, q {
     quotes: none;
    }
    blockquote:before, blockquote:after,
    q:before, q:after {
     content: '';
     content: none;
    }
    table {
     border-collapse: collapse;
     border-spacing: 0;
}
`

4、项目结构

5、效果图

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值