Files
ebiz-ai-knowledge-manage/vue.config.js
陈昱达 94779b0142 feat(knowledge): 更新知识库列表和详情页面
- 修改知识库列表 API 接口
- 新增知识库详情 API 接口
- 实现知识库详情页面功能
- 优化知识库列表页面样式
- 调整 API 前缀以适应新环境
2025-04-10 18:08:59 +08:00

130 lines
3.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
'use strict'
const path = require('path')
const defaultSettings = require('./src/assets/js/utils/settings.js')
function resolve(dir) {
return path.join(__dirname, dir)
}
const name = defaultSettings.title || 'basic-pc' // 页面标题
//如果您的端口设置为80
//使用管理员权限执行命令行。
//例如Macsudo npm run
//您可以通过以下方法更改端口:
// port = 9527 npm run dev或npm run dev --port = 9527
const port = process.env.port || process.env.npm_config_port || 7006 //开发端口
console.log(process.env.VUE_APP_AUTH)
//所有配置项说明都可以在https://cli.vuejs.org/config/ 中找到
module.exports = {
runtimeCompiler: true,
/*如果您打算在子路径下部署站点则需要设置publicPath
例如GitHub Pages。如果您打算将网站部署到https://foo.github.io/bar/
然后publicPath应该设置为“ / bar /”。
在大多数情况下,请使用'/'
详细信息https://cli.vuejs.org/config/#publicpath
*/
publicPath: '/knowledge',
outputDir: 'dist',
assetsDir: 'static',
lintOnSave: process.env.NODE_ENV === 'development',
productionSourceMap: false,
devServer: {
port: port,
open: true,
overlay: {
warnings: false,
errors: true
},
proxy: {
'/api': {
target: process.env.VUE_APP_ADMIN,
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
},
configureWebpack: {
//在webpack的名称字段中提供应用程序的标题以便
//可以在index.html中对其进行访问以注入正确的标题。
name: name,
resolve: {
alias: {
'@': resolve('src')
}
}
},
chainWebpack(config) {
config.plugins.delete('preload') // TODO: 需要测试
config.plugins.delete('prefetch') // TODO: 需要测试
//设置svg-sprite-loader
config.module
.rule('svg')
.exclude.add(resolve('src/icons'))
.end()
config.module
.rule('icons')
.test(/\.svg$/)
.include.add(resolve('src/icons'))
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
})
.end()
//设置preserveWhitespace
config.module
.rule('vue')
.use('vue-loader')
.loader('vue-loader')
.tap(options => {
options.compilerOptions.preserveWhitespace = true
return options
})
.end()
// https://webpack.js.org/configuration/devtool/#development
config.when(process.env.NODE_ENV === 'development', config => config.devtool('cheap-source-map'))
config.when(process.env.NODE_ENV !== 'development', config => {
config
.plugin('ScriptExtHtmlWebpackPlugin')
.after('html')
.use('script-ext-html-webpack-plugin', [
{
//`runtime`必须与runtimeChunk名称相同。默认是“运行时”
inline: /runtime\..*\.js$/
}
])
.end()
config.optimization.splitChunks({
chunks: 'all',
minSize: 3000,
maxSize: 6000,
maxInitialRequests: 3,
cacheGroups: {
libs: {
name: 'chunk-libs',
test: /[\\/]node_modules[\\/]/,
priority: 10,
chunks: 'initial' //仅打包最初依赖的第三方
},
elementUI: {
name: 'chunk-elementUI', //将elementUI拆分为一个包
priority: 20, //权重必须大于libs和app否则将打包到libs或app中
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ //为了适应cnpm
},
commons: {
name: 'chunk-commons',
test: resolve('src/components'), //可以自定义规则
minChunks: 3, //最小公用数
priority: 5,
reuseExistingChunk: true
}
}
})
config.optimization.runtimeChunk('single')
})
}
}