Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tp-ui
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhaopanyu
tp-ui
Commits
ea4e56c7
Commit
ea4e56c7
authored
Dec 22, 2025
by
jiang'yun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
caa30521
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
130 additions
and
130 deletions
+130
-130
vue.config.js
+130
-130
No files found.
vue.config.js
View file @
ea4e56c7
"use strict"
;
"use strict"
;
const
path
=
require
(
"path"
);
const
path
=
require
(
"path"
);
function
resolve
(
dir
)
{
function
resolve
(
dir
)
{
return
path
.
join
(
__dirname
,
dir
);
return
path
.
join
(
__dirname
,
dir
);
}
}
const
CompressionPlugin
=
require
(
"compression-webpack-plugin"
);
const
CompressionPlugin
=
require
(
"compression-webpack-plugin"
);
const
name
=
process
.
env
.
VUE_APP_TITLE
||
"投选活动"
;
// 网页标题
const
name
=
process
.
env
.
VUE_APP_TITLE
||
"投选活动"
;
// 网页标题
const
port
=
process
.
env
.
port
||
process
.
env
.
npm_config_port
||
80
;
// 端口
const
port
=
1024
;
// 端口
// vue.config.js 配置说明
// vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档
// 这里只列一部分,具体配置参考文档
module
.
exports
=
{
module
.
exports
=
{
// 部署生产环境和开发环境下的URL。
// 部署生产环境和开发环境下的URL。
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
publicPath
:
process
.
env
.
NODE_ENV
===
"production"
?
"/tp
"
:
"/tp"
,
publicPath
:
process
.
env
.
NODE_ENV
===
"production"
?
"/tp
/"
:
"/tp/"
,
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
outputDir
:
"
dist"
,
outputDir
:
"
tp"
,
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
assetsDir
:
"static"
,
assetsDir
:
"static"
,
// 是否开启eslint保存检测,有效值:ture | false | 'error'
// 是否开启eslint保存检测,有效值:ture | false | 'error'
lintOnSave
:
process
.
env
.
NODE_ENV
===
"development"
,
lintOnSave
:
process
.
env
.
NODE_ENV
===
"development"
,
// 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
// 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
productionSourceMap
:
false
,
productionSourceMap
:
false
,
// webpack-dev-server 相关配置
// webpack-dev-server 相关配置
devServer
:
{
devServer
:
{
host
:
"0.0.0.0"
,
host
:
"0.0.0.0"
,
port
:
port
,
port
:
port
,
open
:
true
,
open
:
true
,
proxy
:
{
proxy
:
{
// detail: https://cli.vuejs.org/config/#devserver-proxy
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
[
process
.
env
.
VUE_APP_BASE_API
]:
{
// target: `http://localhost:8080`,
target
:
`http://localhost:8889`
,
target
:
`http://192.168.31.22:8889`
,
// target: `http://192.168.31.108:8889`,
changeOrigin
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{
pathRewrite
:
{
[
"^"
+
process
.
env
.
VUE_APP_BASE_API
]:
""
,
[
"^"
+
process
.
env
.
VUE_APP_BASE_API
]:
""
,
},
},
},
},
},
},
disableHostCheck
:
true
,
disableHostCheck
:
true
,
},
},
css
:
{
css
:
{
loaderOptions
:
{
loaderOptions
:
{
sass
:
{
sass
:
{
sassOptions
:
{
outputStyle
:
"expanded"
},
sassOptions
:
{
outputStyle
:
"expanded"
},
},
},
},
},
},
},
configureWebpack
:
{
configureWebpack
:
{
name
:
name
,
name
:
name
,
resolve
:
{
resolve
:
{
alias
:
{
alias
:
{
"@"
:
resolve
(
"src"
),
"@"
:
resolve
(
"src"
),
},
},
},
},
plugins
:
[
plugins
:
[
// http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
// http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件
new
CompressionPlugin
({
new
CompressionPlugin
({
cache
:
false
,
// 不启用文件缓存
cache
:
false
,
// 不启用文件缓存
test
:
/
\.(
js|css|html|jpe
?
g|png|gif|svg
)?
$/i
,
// 压缩文件格式
test
:
/
\.(
js|css|html|jpe
?
g|png|gif|svg
)?
$/i
,
// 压缩文件格式
filename
:
"[path][base].gz[query]"
,
// 压缩后的文件名
filename
:
"[path][base].gz[query]"
,
// 压缩后的文件名
algorithm
:
"gzip"
,
// 使用gzip压缩
algorithm
:
"gzip"
,
// 使用gzip压缩
minRatio
:
0.8
,
// 压缩比例,小于 80% 的文件不会被压缩
minRatio
:
0.8
,
// 压缩比例,小于 80% 的文件不会被压缩
deleteOriginalAssets
:
false
,
// 压缩后删除原文件
deleteOriginalAssets
:
false
,
// 压缩后删除原文件
}),
}),
],
],
},
},
chainWebpack
(
config
)
{
chainWebpack
(
config
)
{
config
.
plugins
.
delete
(
"preload"
);
// TODO: need test
config
.
plugins
.
delete
(
"preload"
);
// TODO: need test
config
.
plugins
.
delete
(
"prefetch"
);
// TODO: need test
config
.
plugins
.
delete
(
"prefetch"
);
// TODO: need test
// set svg-sprite-loader
// set svg-sprite-loader
config
.
module
.
rule
(
"svg"
).
exclude
.
add
(
resolve
(
"src/assets/icons"
)).
end
();
config
.
module
.
rule
(
"svg"
).
exclude
.
add
(
resolve
(
"src/assets/icons"
)).
end
();
config
.
module
config
.
module
.
rule
(
"icons"
)
.
rule
(
"icons"
)
.
test
(
/
\.
svg$/
)
.
test
(
/
\.
svg$/
)
.
include
.
add
(
resolve
(
"src/assets/icons"
))
.
include
.
add
(
resolve
(
"src/assets/icons"
))
.
end
()
.
end
()
.
use
(
"svg-sprite-loader"
)
.
use
(
"svg-sprite-loader"
)
.
loader
(
"svg-sprite-loader"
)
.
loader
(
"svg-sprite-loader"
)
.
options
({
.
options
({
symbolId
:
"icon-[name]"
,
symbolId
:
"icon-[name]"
,
})
})
.
end
();
.
end
();
config
.
when
(
process
.
env
.
NODE_ENV
!==
"development"
,
(
config
)
=>
{
config
.
when
(
process
.
env
.
NODE_ENV
!==
"development"
,
(
config
)
=>
{
config
config
.
plugin
(
"ScriptExtHtmlWebpackPlugin"
)
.
plugin
(
"ScriptExtHtmlWebpackPlugin"
)
.
after
(
"html"
)
.
after
(
"html"
)
.
use
(
"script-ext-html-webpack-plugin"
,
[
.
use
(
"script-ext-html-webpack-plugin"
,
[
{
{
// `runtime` must same as runtimeChunk name. default is `runtime`
// `runtime` must same as runtimeChunk name. default is `runtime`
inline
:
/runtime
\.
.*
\.
js$/
,
inline
:
/runtime
\.
.*
\.
js$/
,
},
},
])
])
.
end
();
.
end
();
config
.
optimization
.
splitChunks
({
config
.
optimization
.
splitChunks
({
chunks
:
"all"
,
chunks
:
"all"
,
cacheGroups
:
{
cacheGroups
:
{
libs
:
{
libs
:
{
name
:
"chunk-libs"
,
name
:
"chunk-libs"
,
test
:
/
[\\/]
node_modules
[\\/]
/
,
test
:
/
[\\/]
node_modules
[\\/]
/
,
priority
:
10
,
priority
:
10
,
chunks
:
"initial"
,
// only package third parties that are initially dependent
chunks
:
"initial"
,
// only package third parties that are initially dependent
},
},
elementUI
:
{
elementUI
:
{
name
:
"chunk-elementUI"
,
// split elementUI into a single package
name
:
"chunk-elementUI"
,
// split elementUI into a single package
test
:
/
[\\/]
node_modules
[\\/]
_
?
element-ui
(
.*
)
/
,
// in order to adapt to cnpm
test
:
/
[\\/]
node_modules
[\\/]
_
?
element-ui
(
.*
)
/
,
// in order to adapt to cnpm
priority
:
20
,
// the weight needs to be larger than libs and app or it will be packaged into libs or app
priority
:
20
,
// the weight needs to be larger than libs and app or it will be packaged into libs or app
},
},
commons
:
{
commons
:
{
name
:
"chunk-commons"
,
name
:
"chunk-commons"
,
test
:
resolve
(
"src/components"
),
// can customize your rules
test
:
resolve
(
"src/components"
),
// can customize your rules
minChunks
:
3
,
// minimum common number
minChunks
:
3
,
// minimum common number
priority
:
5
,
priority
:
5
,
reuseExistingChunk
:
true
,
reuseExistingChunk
:
true
,
},
},
},
},
});
});
config
.
optimization
.
runtimeChunk
(
"single"
);
config
.
optimization
.
runtimeChunk
(
"single"
);
});
});
},
},
};
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment