Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.

Commit d23547d

Browse files
committed
把cdn数据单独存放,替换vue-cookie为js-cookie
1 parent 43dcaa9 commit d23547d

File tree

6 files changed

+74
-33
lines changed

6 files changed

+74
-33
lines changed

dependencies.cdn.js

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
module.exports = [
2+
{
3+
name: 'vue',
4+
library: 'Vue',
5+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js',
6+
css: ''
7+
},
8+
{
9+
name: 'vue-router',
10+
library: 'VueRouter',
11+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-router.min.js',
12+
css: ''
13+
},
14+
{
15+
name: 'vuex',
16+
library: 'Vuex',
17+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/vuex.min.js',
18+
css: ''
19+
},
20+
{
21+
name: 'axios',
22+
library: 'axios',
23+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js',
24+
css: ''
25+
},
26+
{
27+
name: 'qs',
28+
library: 'Qs',
29+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/qs.js',
30+
css: ''
31+
},
32+
{
33+
name: 'nprogress',
34+
library: 'NProgress',
35+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/nprogress.min.js',
36+
css: 'https://cdn.jsdelivr.net/npm/[email protected]/nprogress.css'
37+
},
38+
{
39+
name: 'vue-meta',
40+
library: 'VueMeta',
41+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-meta.min.js',
42+
css: ''
43+
},
44+
{
45+
name: 'js-cookie',
46+
library: 'Cookies',
47+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/src/js.cookie.min.js',
48+
css: ''
49+
},
50+
{
51+
name: 'dayjs',
52+
library: 'dayjs',
53+
js: 'https://cdn.jsdelivr.net/npm/[email protected]/dayjs.min.js',
54+
css: ''
55+
}
56+
]

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
"axios": "^0.19.2",
1616
"core-js": "^3.6.4",
1717
"dayjs": "^1.8.29",
18+
"js-cookie": "^2.2.1",
1819
"nprogress": "^0.2.0",
1920
"vue": "^2.6.11",
20-
"vue-cookies": "^1.7.2",
2121
"vue-meta": "^2.4.0",
2222
"vue-router": "^3.3.4",
2323
"vuex": "^3.5.1"

src/main.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ Vue.prototype.$dayjs = dayjs
1313
import util from './util/index'
1414
Vue.use(util)
1515

16-
import cookies from 'vue-cookies'
17-
Vue.use(cookies)
16+
import Cookies from 'js-cookie'
17+
Vue.prototype.$cookies = Cookies
1818

1919
import meta from 'vue-meta'
2020
Vue.use(meta)

src/views/example/cookie.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
export default {
1212
data() {
1313
return {
14-
cookie: ''
14+
cookie: this.$cookies.get('a')
1515
}
1616
},
1717
methods: {
@@ -24,7 +24,7 @@ export default {
2424
this.cookie = this.$cookies.get('a')
2525
},
2626
isSetCookie() {
27-
alert(this.$cookies.isKey('a'))
27+
alert(!!this.$cookies.get('a'))
2828
}
2929
}
3030
}

vue.config.js

+8-23
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const fs = require('fs')
22
const path = require('path')
33
const spritesmithPlugin = require('webpack-spritesmith')
44
const terserPlugin = require('terser-webpack-plugin')
5+
const cdnDependencies = require('./dependencies.cdn')
56

67
const spritesmithTasks = []
78
fs.readdirSync('src/assets/sprites').map(dirname => {
@@ -37,31 +38,15 @@ fs.readdirSync('src/assets/sprites').map(dirname => {
3738
}
3839
})
3940

41+
// CDN 相关
4042
const isCDN = process.env.VUE_APP_CDN == 'ON'
43+
const externals = {}
44+
cdnDependencies.forEach(pkg => {
45+
externals[pkg.name] = pkg.library
46+
})
4147
const cdn = {
42-
css: [
43-
'https://cdn.jsdelivr.net/npm/[email protected]/nprogress.css'
44-
],
45-
js: [
46-
'https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js',
47-
'https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-router.min.js',
48-
'https://cdn.jsdelivr.net/npm/[email protected]/dist/vuex.min.js',
49-
'https://cdn.jsdelivr.net/npm/[email protected]/dist/axios.min.js',
50-
'https://cdn.jsdelivr.net/npm/[email protected]/dist/qs.js',
51-
'https://cdn.jsdelivr.net/npm/[email protected]/nprogress.min.js',
52-
'https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-meta.min.js',
53-
'https://cdn.jsdelivr.net/npm/[email protected]/dayjs.min.js'
54-
]
55-
}
56-
const externals = {
57-
'vue': 'Vue',
58-
'vue-router': 'VueRouter',
59-
'vuex': 'Vuex',
60-
'axios': 'axios',
61-
'qs': 'Qs',
62-
'nprogress': 'NProgress',
63-
'vue-meta': 'VueMeta',
64-
'dayjs': 'dayjs'
48+
css: cdnDependencies.map(e => e.css).filter(e => e),
49+
js: cdnDependencies.map(e => e.js).filter(e => e)
6550
}
6651

6752
module.exports = {

yarn.lock

+5-5
Original file line numberDiff line numberDiff line change
@@ -6663,6 +6663,11 @@ js-base64@^2.1.8, js-base64@^2.1.9:
66636663
resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209"
66646664
integrity sha1-MTtidN2nGPcU0AszMLuubjjpAgk=
66656665

6666+
js-cookie@^2.2.1:
6667+
version "2.2.1"
6668+
resolved "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
6669+
integrity sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg=
6670+
66666671
66676672
version "1.0.5"
66686673
resolved "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15"
@@ -11820,11 +11825,6 @@ vm-browserify@^1.0.1:
1182011825
resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870717730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
1182111826
integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA=
1182211827

11823-
vue-cookies@^1.7.2:
11824-
version "1.7.2"
11825-
resolved "https://registry.npm.taobao.org/vue-cookies/download/vue-cookies-1.7.2.tgz#805bd307f7015c2325cae1326730d7f914b14dcf"
11826-
integrity sha1-gFvTB/cBXCMlyuEyZzDX+RSxTc8=
11827-
1182811828
vue-eslint-parser@^7.0.0:
1182911829
version "7.0.0"
1183011830
resolved "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.0.0.tgz?cache=0&sync_timestamp=1573306368916&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.0.0.tgz#a4ed2669f87179dedd06afdd8736acbb3a3864d6"

0 commit comments

Comments
 (0)