zoukankan      html  css  js  c++  java
  • Vue 打包配置productionSourceMap 的记录

    1.vue打包的问题

      一次在两个电脑中给同一个项目打包,打出来dist文件的不一样打,一个15.7M ,一个3.7M,同样的代码,同样的命令,为什么打出来的包差别这么大。

    查了一下代码,发现vue.config.js这个文件不同。在create vue的时候,这个文件没有被创建,需要自己手动添加,内容如下

    module.exports = {
        productionSourceMap: false,
    }

    打包的环境vue  2.6.10

    在设置了vue.config.js之后,就不会生成map文件,map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。也就是说map文件相当于是查看源码的一个东西。如果不需要定位问题,并且不想被看到源码,就把productionSourceMap 置为false,既可以减少包大小,也可以加密源码。

    2.打包的配置

      在vue.config.js文件中还有很多配置可以自由的配置,虽然create vue已经给我们提供了极简配置,但是想要自由定制,还是需要配合vue.config.js的配置。

    //vue.config.js 配置说明
    // 这里只列一部分,具体配置惨考文档啊
    module.exports = {
        // baseUrl  type:{string} default:'/' 
        // 将部署应用程序的基本URL
        // 将部署应用程序的基本URL。
        // 默认情况下,Vue CLI假设您的应用程序将部署在域的根目录下。
        // https://www.my-app.com/。如果应用程序部署在子路径上,则需要使用此选项指定子路径。例如,如果您的应用程序部署在https://www.foobar.com/my-app/,集baseUrl到'/my-app/'.
    
        publicPath: process.env.NODE_ENV === 'production' ? '/' : '/',
    
        // outputDir: 在npm run build时 生成文件的目录 type:string, default:'dist'
    
        // outputDir: 'dist',
    
        // pages:{ type:Object,Default:undfind } 
    /*
      构建多页面模式的应用程序.每个“页面”都应该有一个相应的JavaScript条目文件。该值应该是一
      个对象,其中键是条目的名称,而该值要么是指定其条目、模板和文件名的对象,要么是指定其条目
      的字符串,
      注意:请保证pages里配置的路径和文件名 在你的文档目录都存在 否则启动服务会报错的
    */
        // pages: {
            // index: {
                // entry for the page
                // entry: 'src/index/main.js',
                // the source template
                // template: 'public/index.html',
                // output as dist/index.html
                // filename: 'index.html'
            // },
            // when using the entry-only string format,
            // template is inferred to be `public/subpage.html`
            // and falls back to `public/index.html` if not found.
            // Output filename is inferred to be `subpage.html`.
            // subpage: 'src/subpage/main.js'
        // },
    
        //   lintOnSave:{ type:Boolean default:true } 问你是否使用eslint
        lintOnSave: true,
        // productionSourceMap:{ type:Bollean,default:true } 生产源映射
        // 如果您不需要生产时的源映射,那么将此设置为false可以加速生产构建
        productionSourceMap: false,
        // devServer:{type:Object} 3个属性host,port,https
        // 它支持webPack-dev-server的所有选项
    
        devServer: {
            port: 8085, // 端口号
            host: 'localhost',
            https: false, // https:{type:Boolean}
            open: true, //配置自动启动浏览器
            // proxy: 'http://localhost:4000' // 配置跨域处理,只有一个代理
            // proxy: {
            //     '/api': {
            //         target: '<url>',
            //         ws: true,
            //         changeOrigin: true
            //     },
            //     '/foo': {
            //         target: '<other_url>'
            //     }
            // },  // 配置多个代理
        }
    }
    官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions

  • 相关阅读:
    在浏览器中输入URL并回车后都发生了什么?
    HashMap数据结构
    记录一次mysql死锁
    常见排序(归并排序)
    记录一次redis事故
    jsp与javaBean
    org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.zhuoshi.entity.Dep#1]
    Oracle创建表空间报错:O/S-Error: (OS 3) 系统找不到指定的路径
    在myeclipse中maven项目关于ssh整合时通过pom.xml导入依赖是pom.xml头部会报错
    2018idea如何布置tomcat修改URL后连接不到
  • 原文地址:https://www.cnblogs.com/zhanghao1799/p/12944390.html
Copyright © 2011-2022 走看看