Skip to content

Commit 730df40

Browse files
author
yunkui.zhou
committedJun 25, 2018
调整路由结构
1 parent b1fdd56 commit 730df40

File tree

10 files changed

+61
-18
lines changed

10 files changed

+61
-18
lines changed
 

‎client/pages/example/common/js/siderStatusSwitch.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
const switchStatus = function () {
55
const {match} = this.props;
66
let targetLink = document.querySelector(`.flag${match.path.replace(/\//g, '-')}`);
7-
let allLink = [ ...document.querySelectorAll('.sider .top-component')];
7+
let allLink = [...document.querySelectorAll('.sider .top-component')];
88
allLink.map((link, index) => {
99
link.classList.remove('active');
1010
})

‎package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"version": "0.0.1",
44
"scripts": {
55
"start": "nodemon ./bin/www",
6-
"prebuild": "rimraf ./dist && babel bin --out-dir dist/bin && cross-env BABEL_ENV=node babel client --out-dir dist/client --copy-files && babel server --out-dir dist/server --copy-files",
7-
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
6+
"prebuild": "rimraf ./dist && babel bin --out-dir dist/bin --copy-files && cross-env BABEL_ENV=node babel client --out-dir dist/client --copy-files && babel server --out-dir dist/server --copy-files",
7+
"build": "cross-env NODE_ENV=production webpack --config webpack.config.babel.js",
88
"postbuild": "babel public --out-dir dist/public --copy-files && babel test --out-dir dist/test --copy-files"
99
},
1010
"dependencies": {
@@ -30,6 +30,7 @@
3030
"eslint-plugin-standard": "^3.0.1",
3131
"express": "^4.16.3",
3232
"extract-text-webpack-plugin": "^4.0.0-beta.0",
33+
"helmet": "^3.12.1",
3334
"history": "^4.7.2",
3435
"less": "^3.0.1",
3536
"less-loader": "^4.1.0",

‎server/controller/components.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import React from 'react'
44
import {toSream, setResHeaders} from '../react'
55
import mapReactAssets from '../utils/mapReactAssets'
66
import Component from '../../client/pages/example/App'
7-
import Skeleton from '../react/skeleton'
7+
import Skeleton from '../views/skeleton'
88
import {StaticRouter} from 'react-router'
99
import express from 'express'
1010
const router = express.Router()

‎server/controller/home.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict';
2+
3+
import React from 'react'
4+
import {toSream, setResHeaders} from '../react'
5+
import Skeleton from '../views/skeleton'
6+
import Home from '../views/home'
7+
import express from 'express'
8+
const router = express.Router()
9+
router.get('/', (req, res, next) => {
10+
//可以根据路径,针对某一个页面进行服务端渲染
11+
const Html = (props) => (
12+
<Skeleton
13+
title="同构项目"
14+
>
15+
<Home />
16+
</Skeleton>
17+
)
18+
toSream(<Html />).pipe(setResHeaders(res))
19+
})
20+
21+
export default {
22+
router
23+
}

‎server/controller/integration.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import express from 'express'
44
import React from 'react'
55
import {toSream, setResHeaders} from '../react'
6-
import Skeleton from '../react/skeleton'
6+
import Skeleton from '../views/skeleton'
77
import mapReactAssets from '../utils/mapReactAssets'
88
import {StaticRouter} from 'react-router'
99
import {Provider} from 'react-redux'

‎server/index.js

+5-11
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
*/
44
import express from 'express'
55
import path from 'path'
6-
import pages from './routes/pages'
6+
import main from './routes/main'
7+
import helmet from 'helmet'
78
const config = require('config')
89
const app = express()
9-
console.log(config.injectDevelopmentTools && config.injectDevelopmentTools(app))
10+
app.use(helmet())
11+
console.log((config.injectDevelopmentTools && config.injectDevelopmentTools(app)) || `当前环境 ${process.env.NODE_ENV}`)
1012
const options = {
1113
dotfiles: 'ignore',
1214
etag: true,
@@ -16,15 +18,7 @@ const options = {
1618
redirect: false
1719
}
1820
app.use(express.static(path.resolve(__dirname, '../public'), options))
19-
20-
//页面链式路由入口
21-
app.use('/p', pages)
22-
//首页
23-
app.get('/', (req, res) => {
24-
res.render('homepage', {
25-
title: 'react-redux-iapp同构项目'
26-
})
27-
})
21+
app.use('/', main)
2822
app.use((err, req, res, next) => {
2923
res.json({
3024
message: '404',

‎server/routes/main.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/**
2+
* Created by ink on 2018/5/3.
3+
*/
4+
import express from 'express'
5+
import pages from './pages'
6+
import homeController from '../controller/home'
7+
const router = express.Router()
8+
9+
router.use('/p', pages)
10+
11+
router.get('/', homeController.router)
12+
13+
export default router

‎server/views/home.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'use strict';
2+
import React from 'react'
3+
import {Link} from 'react-router-dom'
4+
import {StaticRouter} from 'react-router'
5+
const Home = (props) => {
6+
return <StaticRouter context={{}}>
7+
<React.Fragment>
8+
<span><Link to="/p/components">react移动端常见组件</Link></span>
9+
<span style={{marginLeft: '30px'}}><Link to="/p/integration">整合redux</Link></span>
10+
</React.Fragment>
11+
</StaticRouter>
12+
}
13+
export default Home
File renamed without changes.

‎webpack.config.prod.babel.js

+1-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ const config = {
3232
'process.env.NODE_ENV': JSON.stringify('production')
3333
}),
3434
new ExtractCssChunks({
35-
filename: '[name].[id].css',
36-
allChunks: true
35+
filename: '[name].[id].css'
3736
}),
3837
...commonConfig.plugins
3938
]

0 commit comments

Comments
 (0)