若依前端部署nginx配置案例
前端配置use strict const path require(path) function resolve(dir) { return path.join(__dirname, dir) } const CompressionPlugin require(compression-webpack-plugin) const name process.env.VUE_APP_TITLE || 若依管理系统 // 网页标题 const port process.env.port || process.env.npm_config_port || 80 // 端口 // vue.config.js 配置说明 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions // 这里只列一部分具体配置参考文档 module.exports { // 部署生产环境和开发环境下的URL。 // 默认情况下Vue CLI 会假设你的应用是被部署在一个域名的根路径上 // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上你就需要用这个选项指定这个子路径。例如如果你的应用被部署在 https://www.ruoyi.vip/admin/则设置 baseUrl 为 /admin/。 publicPath: process.env.NODE_ENV production ? / : /, // 在npm run build 或 yarn build 时 生成文件的目录名称要和baseUrl的生产环境路径一致默认dist outputDir: dist, // 用于放置生成的静态资源 (js、css、img、fonts) 的项目打包之后静态资源会放在这个文件夹下 assetsDir: static, // 如果你不需要生产环境的 source map可以将其设置为 false 以加速生产环境构建。 productionSourceMap: false, transpileDependencies: [quill], // webpack-dev-server 相关配置 devServer: { host: 0.0.0.0, port: port, open: true, proxy: { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { target: http://localhost:8080, changeOrigin: true, pathRewrite: { [^ process.env.VUE_APP_BASE_API]: } } }, disableHostCheck: true }, css: { loaderOptions: { sass: { sassOptions: { outputStyle: expanded } } } }, configureWebpack: { name: name, resolve: { alias: { : resolve(src) } }, plugins: [ // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 new CompressionPlugin({ cache: false, // 不启用文件缓存 test: /\.(js|css|html|jpe?g|png|gif|svg)?$/i, // 压缩文件格式 filename: [path][base].gz[query], // 压缩后的文件名 algorithm: gzip, // 使用gzip压缩 minRatio: 0.8, // 压缩比例小于 80% 的文件不会被压缩 deleteOriginalAssets: false // 压缩后删除原文件 }) ], }, chainWebpack(config) { config.plugins.delete(preload) // TODO: need test config.plugins.delete(prefetch) // TODO: need test // set svg-sprite-loader 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() config.when(process.env.NODE_ENV ! development, config { config .plugin(ScriptExtHtmlWebpackPlugin) .after(html) .use(script-ext-html-webpack-plugin, [{ // runtime must same as runtimeChunk name. default is runtime inline: /runtime\..*\.js$/ }]) .end() config.optimization.splitChunks({ chunks: all, cacheGroups: { libs: { name: chunk-libs, test: /[\\/]node_modules[\\/]/, priority: 10, chunks: initial // only package third parties that are initially dependent }, elementUI: { name: chunk-elementUI, // split elementUI into a single package 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 }, commons: { name: chunk-commons, test: resolve(src/components), // can customize your rules minChunks: 3, // minimum common number priority: 5, reuseExistingChunk: true } } }) config.optimization.runtimeChunk(single) }) } }nginx配置#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 8888; server_name localhost; location / { root html/dist; index index.html index.htm; try_files $uri $uri/ /index.html; } location /dev-api/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.1.0.6:8080/; } location /prod-api/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://10.1.0.6:8080/; } } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2438841.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!