|
@@ -1,3 +1,10 @@
|
|
|
|
+const cdnBaseUrl = 'https://cdn.bootcdn.net'
|
|
|
|
+const cdnConfig = [
|
|
|
|
+ { name: 'vue', scope: 'Vue', js: `${cdnBaseUrl}/ajax/libs/vue/2.6.14/vue.min.js` },
|
|
|
|
+ { name: 'vue-router', scope: 'VueRouter', js: `${cdnBaseUrl}/ajax/libs/vue-router/3.5.3/vue-router.min.js` },
|
|
|
|
+ { name: 'vuex', scope: 'Vuex', js: `${cdnBaseUrl}/ajax/libs/vuex/3.6.2/vuex.min.js` },
|
|
|
|
+ { name: 'element-ui', scope: 'ELEMENT', js: `${cdnBaseUrl}/ajax/libs/element-ui/2.15.6/index.min.js`, css: `${cdnBaseUrl}/ajax/libs/element-ui/2.15.6/theme-chalk/index.min.css` }
|
|
|
|
+]
|
|
module.exports = {
|
|
module.exports = {
|
|
devServer: {
|
|
devServer: {
|
|
proxy: {
|
|
proxy: {
|
|
@@ -7,5 +14,25 @@ module.exports = {
|
|
'changeOrigin': true
|
|
'changeOrigin': true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ chainWebpack(config) {
|
|
|
|
+ if (process.env.NODE_ENV === 'production') {
|
|
|
|
+ // config.externals({
|
|
|
|
+ // 'vue': 'Vue',
|
|
|
|
+ // 'vue-router': 'VueRouter',
|
|
|
|
+ // 'vuex': 'Vuex'
|
|
|
|
+ // })
|
|
|
|
+ config.externals(cdnConfig.reduce((acc, el) => {
|
|
|
|
+ acc[el.name] = el.scope
|
|
|
|
+ return acc
|
|
|
|
+ }, {}))
|
|
|
|
+ config.plugin('html').tap(args => {
|
|
|
|
+ args[0].cdn = {
|
|
|
|
+ js: cdnConfig.map(el => el.js),
|
|
|
|
+ css: cdnConfig.filter(el => el.css).map(el => el.css)
|
|
|
|
+ }
|
|
|
|
+ return args
|
|
|
|
+ })
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|