1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/front-learn-gantt-chart-vue

Клонировать/Скачать
vue.config.js 4.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
上海爱湃斯科技.大客户开发部.肖秋林 Отправлено 02.11.2022 11:03 6c83edb
/*
* @Author: your name
* @Date: 2020-05-12 11:31:19
* @LastEditTime: 2020-11-04 10:20:16
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /vue-cli4-multi/vue.config.js
*/
const path = require('path')
const resolve = dir => path.join(__dirname, dir)
const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
const webpack = require('webpack')
const glob = require('glob')
const pagesInfo = require('./pages.config')
const pages = {}
glob.sync('./src/modules/**/main.js').forEach(entry => {
const chunk = entry.match(/\.\/src\/modules\/(.*)\/main\.js/)[1]
const curr = pagesInfo[chunk]
if (curr) {
pages[chunk] = {
entry,
...curr,
chunk: ['chunk-vendors', 'chunk-common', chunk]
}
}
})
module.exports = {
publicPath: './', // 默认'/',部署应用包时的基本 URL
outputDir: process.env.outputDir || 'dist', // 'dist', 生产环境构建文件的目录
assetsDir: './static', // 相对于outputDir的静态资源(js、css、img、fonts)目录
lintOnSave: process.env.NODE_ENV === 'development',
runtimeCompiler: true, // 是否使用包含运行时编译器的 Vue 构建版本
// 生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 标签上启用 Subresource Integrity (SRI)
integrity: false,
productionSourceMap: !IS_PROD, // 生产环境的 source map
parallel: require('os').cpus().length > 1,
pwa: {},
chainWebpack: config => {
// 修复 HMR(热更新)失效
config.resolve.symlinks(true)
// 添加别名
config.resolve.alias
.set('@', resolve('src'))
.set('@assets', resolve('src/assets'))
.set('@components', resolve('src/components'))
.set('@common', resolve('src/common'))
.set('@front', resolve('src/modules/front'))
// 防止多页面打包卡顿
// eslint-disable-next-line no-unused-expressions
config => config.plugins.delete('named-chunks')
const cdn = {
// 访问https://unpkg.com/element-ui/lib/theme-chalk/index.css获取最新版本
css: ['//unpkg.com/element-ui@2.13.1/lib/theme-chalk/index.css'],
js: [
'//unpkg.com/vue@2.6.10/dist/vue.min.js', // 访问https://unpkg.com/vue/dist/vue.min.js获取最新版本
'//unpkg.com/vue-router@3.0.6/dist/vue-router.min.js',
'//unpkg.com/vuex@3.1.1/dist/vuex.min.js',
'//unpkg.com/axios@0.19.0/dist/axios.min.js',
'//unpkg.com/element-ui@2.13.1/lib/index.js',
'//cdn.bootcss.com/echarts/4.8.0/echarts.min.js'
]
}
// 多页面cdn添加
Object.keys(pagesInfo).forEach(page => {
config.plugin(`html-${page}`).tap(args => {
// html中添加cdn
args[0].cdn = cdn
// 修复 Lazy loading routes Error
args[0].chunksSortMode = 'none'
return args
})
})
config.module.rule('svg').exclude.add(resolve('src/assets/icons')).end()
config.module.rule('icons').test(/\.svg$/)
.include.add(resolve('src/assets/icons')).end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
}).end()
// 删除 moment 除 zh-cn 中文包外的其它语言包,无需在代码中手动引入 zh-cn 语言包
config.plugin('ignore').use(
new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /zh-cn$/)
)
return config
},
pages,
configureWebpack: config => {
config.externals = {
vue: 'Vue',
'element-ui': 'ELEMENT',
'vue-router': 'VueRouter',
vuex: 'Vuex',
axios: 'axios',
echarts: 'echarts',
BMap: 'BMap',
BMap_Symbol_SHAPE_POINT: 'BMap_Symbol_SHAPE_POINT'
// i18n: 'VueI18n',
}
},
devServer: {
overlay: { // 让浏览器 overlay 同时显示警告和错误
warnings: true,
errors: true
},
open: false, // 是否打开浏览器
host: '0.0.0.0',
port: '8080', // 代理端口
https: false,
hotOnly: false, // 热更新
proxy: {
'/bound': {
target: 'https://geo.datav.aliyun.com', // 目标代理接口地址
// secure: false,
changeOrigin: true, // 开启代理,在本地创建一个虚拟服务端
// ws: true, // 是否启用websockets
pathRewrite: {
// '^/api': ''
}
}
}
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/front-learn-gantt-chart-vue.git
git@api.gitlife.ru:oschina-mirror/front-learn-gantt-chart-vue.git
oschina-mirror
front-learn-gantt-chart-vue
front-learn-gantt-chart-vue
master