zoukankan      html  css  js  c++  java
  • vue webpack 打包优化

    1、将 productionSourceMap 设为 false

    (1) 在vue.config.jsmodule.exports写入:

    module.exports = {
        productionSourceMap: false //把该项的配置修改为 false,关闭 source map
    }


    2、图片压缩

    先安装依赖:cnpm install image-webpack-loader --save-dev

    vue.config.jsmodule.exports写入:

    module.exports = {
      productionSourceMap: false,
      chainWebpack: (config) => {
        // 压缩图片
        config.module
          .rule("images")
          .use("image-webpack-loader")
          .loader("image-webpack-loader")
          .options({ bypassOnDebug: true })
          .end()
      },
      configureWebpack:() => {
        return{
          externals:externals
        }
      },
    }

    3、cdn配置

         3.1  在public index.html 写入

    <script type="text/javascript" src="https://haimihui-static-files.oss-cn-beijing.aliyuncs.com/common/js/vue-router.min.js"></script>
    <script type="text/javascript" src="https://haimihui-static-files.oss-cn-beijing.aliyuncs.com/common/js/moment/2.20.1/moment.js"></script>
    <script type="text/javascript" src="https://haimihui-static-files.oss-cn-beijing.aliyuncs.com/common/js/moment/2.20.1/zh-cn.js"></script>
    <script type="text/javascript" src="https://haimihui-static-files.oss-cn-beijing.aliyuncs.com/common/js/vuex/3.0.1/vuex.min.js"></script>
    <script type="text/javascript" src="https://cdn.bootcss.com/axios/0.19.0/axios.min.js"></script>
    <script src="https://cdn.bootcss.com/qs/6.5.1/qs.min.js"></script>

      3.2  在 vue.config.js 添加如下:

        

    const externals = {
        'vue-routers':'VueRouter',
        'vuex': 'Vuex',
        'axios':'axios',
        'qs':'Qs',
        'moment':'moment'
    }
    module.exports = {
      configureWebpack:() => {
        return{
          externals:externals
        }
      },
    }

      3.3  在src/router.js修改

        去掉import    // import Router from 'vue-router'

        Vue.use(VueRouter);

         3.4  momnet
      3.4.1 全局  在 main.js 修改
           import moment from "moment";
      Vue.filter("dateformat"function(dataStrpattern = "YYYY-MM-DD HH:mm:ss") {
        if (dataStr) {
          return moment(dataStr).format(pattern);
        } else {
          return dataStr;
        }
      });
      3.4.2  在局部中引用直接   import moment from "moment";
     
      3.5  vuex 
         在  store/index.js
      
      import Vuex from 'vuex';
    Vue.use(Vuex);
      const store = new Vuex.Store({ .... })
      export default store

    3.6  axios

          // import axios from 'axios';// 注释掉

      // import Qs from 'qs';// 注释掉

     
  • 相关阅读:
    idea安装破解
    项目中邮件发送
    (转)四种复制文件的效率高低
    备份
    关于时间
    转 累加含小数点的数据:parseFloat、toFixed等
    转 Java将PDF转换成图片
    (转)JAVA实现SFTP实例
    获取浏览器参数
    js 中日期转换
  • 原文地址:https://www.cnblogs.com/zhaozhenzhen/p/14283431.html
Copyright © 2011-2022 走看看