Skip to content

Commit e563923

Browse files
authored
Merge pull request #1 from zhengybo/dev
增加标题
2 parents 600cb5d + 92db967 commit e563923

File tree

9 files changed

+42
-19
lines changed

9 files changed

+42
-19
lines changed

build/client.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ function resolve (dir) {
99
}
1010
module.exports = merge(base, {
1111
entry: {
12-
// app: resolve('./src/entry-client.js')
1312
app: resolve('./lib/entry/entry-client.js')
1413
},
1514
resolve: {
@@ -28,10 +27,5 @@ module.exports = merge(base, {
2827
chunks: 'all'
2928
},
3029
runtimeChunk: true
31-
},
32-
devServer: {
33-
hot: true,
34-
compress: true,
35-
port: 4444
3630
}
3731
})

build/server-dev.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const merge = require('webpack-merge')
22
const client = require('./server')
3-
// const webpack = require('webpack')
3+
44
module.exports = merge(client,{
55
mode: 'development'
66
})

build/server.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ const VueSSRServerPlugin = require('vue-server-renderer/server-plugin')
77
module.exports = merge(base, {
88
target: 'node',
99
devtool: '#source-map',
10-
// entry: path.resolve(__dirname, '../src/entry-server.js'),
1110
entry: path.resolve(__dirname, '../lib/entry/entry-server.js'),
1211
output: {
1312
filename: 'server-bundle.js',

lib/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<!DOCTYPE html>
22
<html lang="en">
33
<head>
4+
<title>{{title}}</title>
45
<meta charset="utf-8">
56
<style>
67
</style>

lib/setup/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ import config from './config'
1212

1313
const clientConfig = require('./../../build/client-dev')
1414
const serverConfig = require('./../../build/server-dev')
15-
const isProd = process.env.NODE_ENV === 'production'
1615

1716
const resolve = (pre, pathname) => path.resolve(pre, pathname)
1817
const templatePath = resolve(__dirname, './../index.html')
1918

19+
const isProd = process.env.NODE_ENV === 'production'
20+
2021
class Setup {
2122
constructor(app, options = {}){
2223
this.app = app;

src/app.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,13 @@ import Vue from 'vue'
22
import App from './App.vue'
33
import createStore from './store'
44
import createRouter from './router'
5+
import mixin from './mixin'
56
import { sync } from 'vuex-router-sync'
6-
// import titleMixin from './util/title'
7-
// import * as filters from './util/filters'
87

9-
// mixin for handling title
10-
// Vue.mixin(titleMixin)
11-
12-
// register global utility filters.
13-
// Object.keys(filters).forEach(key => {
14-
// Vue.filter(key, filters[key])
15-
// })
8+
Vue.mixin(mixin)
169

1710
export default function createApp () {
18-
// create store and router instances
11+
1912
const store = createStore()
2013
const router = createRouter()
2114

src/mixin/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import title from './title'
2+
export default [ title ];

src/mixin/title.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
function getTitle (vm) {
2+
const { title } = vm.$options
3+
if (title) {
4+
return typeof title === 'function'
5+
? title.call(vm)
6+
: title
7+
}
8+
}
9+
10+
const serverTitleMixin = {
11+
created () {
12+
const title = getTitle(this)
13+
if (title) {
14+
this.$ssrContext.title = title
15+
}
16+
}
17+
}
18+
19+
const clientTitleMixin = {
20+
mounted () {
21+
const title = getTitle(this)
22+
if (title) {
23+
document.title = title
24+
}
25+
}
26+
}
27+
28+
export default process.env.VUE_ENV === 'server'
29+
? serverTitleMixin
30+
: clientTitleMixin

src/view/home/index.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ export default {
1111
return {
1212
name : '123dasd231213'
1313
}
14+
},
15+
title(){
16+
return '主页'
1417
}
1518
}
1619
</script>

0 commit comments

Comments
 (0)