• vuecli3 添加配置文件 vue配置文件 vue.config.js常用配置参数 vue打包配置添加版本号时间戳


    module.exports = {
        publicPath:"/",
        outputDir: 'dist', // 构建输出目录
        assetsDir: 'assets', // 静态资源目录 (js, css, img, fonts)
        chainWebpack:  config => {
            //打包配置时间戳
            if (process.env.NODE_ENV === 'production') {
                // 给js和css配置版本号
                config.output.filename('js/[name].' + Timestamp + '.js').end();
                config.output.chunkFilename('js/[name].' + Timestamp + '.js').end();
                config.plugin('extract-css').tap(() => [{
                    filename: `css/[name].${Timestamp}.css`,
                    chunkFilename: `css/[name].${Timestamp}.css`
                }])
            }
        },
        lintOnSave: false, // 是否开启eslint保存检测,有效值:ture | false | 'error'
        runtimeCompiler: true, // 运行时版本是否需要编译
        transpileDependencies: [], // 默认babel-loader忽略mode_modules,这里可增加例外的依赖包名
        productionSourceMap: false, // 是否在构建生产包时生成 sourceMap 文件,false将提高构建速度
        css: { // 配置高于chainWebpack中关于css loader的配置
             modules: true, // 是否开启支持‘foo.module.css’样式
                extract: true, // 是否使用css分离插件 ExtractTextPlugin,采用独立样式文件载入,不采用<style>方式内联至html文件中
             sourceMap: false, // 是否在构建样式地图,false将提高构建速度
             loaderOptions: { // css预设器配置项
                 sass: {
                     data: ''//`@import "@/assets/scss/mixin.scss";`
                 }
             }
         },
        parallel: require('os').cpus().length > 1, // 构建时开启多进程处理babel编译
        pluginOptions: { // 第三方插件配置
        },
        pwa: { // 单页插件相关配置 https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
        },
        devServer: {
            open: true,
            host: 'localhost',
            port: 8080,
            https: false,
            hotOnly: false,
            proxy: {
                 //配置跨域
                 '/api': {
                     target: 'http://zb.txdou.com', //test
                     ws: true,// 是否启用websockets
                     changeOrigin: true, //是否開啟代理
                     pathRewrite: {
                        '^/api': ''
                     }
                 }
            
             },
            before: app => {}
        }
    
    }

    URL添加版本号

    router.beforeEach((to, from, next) => {
      if (to.meta.title) {
        document.title = to.meta.title
      }
    /**
     * 添加版本号
    **/
      if (document.URL.indexOf('?t=') < 0) {
        let timestamp = (new Date()).valueOf()
        window.location.href = '?t=' + timestamp + '#' + to.fullPath
      }
      if (to.meta.requireAuth) {
        if (getStore('personal') && getStore("loginFlag") == 1) {
          next();
        } else {
          next({
            path: '/login',
            query: {redirect: to.fullPath}
          })
        }
      } else {
        next();
      }
    });
  • 相关阅读:
    ConcurrentHashMap
    Linux中如何开启8080端口供外界访问 和开启允许对外访问的端口8000
    CentOs 7 Linux系统下我的/etc/sysconfig/路径下无iptables文件
    CentOS7开启SSH服务
    Centos7下Samba服务器配置
    CentOS7(Linux)网络yum源配置
    Linux(Centos7)中配置Java环境变量
    SpringAOP-什么是面向切面编程?
    Swagger Demo
    自定义个Bean名称生成策略, 解决不同包下同名类问题/AnnotationBeanNameGenerator
  • 原文地址:https://www.cnblogs.com/chenzxl/p/14681587.html
Copyright © 2020-2023  润新知