zoukankan      html  css  js  c++  java
  • vue项目的实用配置

    文件压缩如何去掉console

    在使用vue开发项目的过程中,免不了在调试的时候会写许多console,在控制台进行调试;在开发的时候这种输出是必须的,但是build后线上运行时这个东西是不能出现的;那么我如何配置项目,从而让webpack帮我删除掉console呢?下面我们给出了vue-cli 3.0vue-cli 2.0的配置如下:

    vue-cli 3.0

    vue.config.js文件中添加如下代码即可

    const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
    
    module.exports = {
        ...
        configureWebpack: {
            optimization: {
                minimizer: [
                    new UglifyJsPlugin({
                        uglifyOptions: {
                            compress: {
                                warnings: false,
                                drop_console: true,//console
                                drop_debugger: false,
                                pure_funcs: ['console.log']//移除console
                            }
                        }
                    })
                ]
            }
        }
        ...
    }
    

    vue-cli 2.0

    build/webpack.prod.conf.js文件中进行如下配置即可

    const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
    
    plugins: [
        ...
        // http://vuejs.github.io/vue-loader/en/workflow/production.html
        new webpack.DefinePlugin({
          'process.env': env
        }),
        new UglifyJsPlugin({
          uglifyOptions: {
            compress: {
              warnings: false,
              drop_console: true,//console
              pure_funcs: ['console.log']//移除console
            }
          },
          sourceMap: config.build.productionSourceMap,
          parallel: true
        }),
        ...
    ]
    

    axios解决调用后端接口跨域问题

    vue-cli 3.0

    在项目根目录新建vue.config.js文件,增加如下配置即可:

    module.exports = {
        lintOnSave: false, // 是否使用eslint
        publicPath: '/',
        // 这里开始代理配置
        devServer: {
            proxy: {
                '/api': {
                    target: 'http://localhost:3000',
                    changeOrigin: true,
                    ws: true,
                    pathRewrite: {
                        '^/api': ''
                    }
                }
            }
        }
    }
    

    vue-cli 2.0

    vue-cli是通过本地代理的方式解决接口跨域问题的。但是在vue-cli 2.0的默认项目配置中这个代理是没有配置的,如果现在项目中使用,必须手动配置config/index.js文件。

    ...
    proxyTable: {
      '/api': {    //将www.exaple.com印射为/apis
        target: 'https://www.example.com,  // 接口域名
        secure: true,  // 如果是https接口,需要配置这个参数
        changeOrigin: true,  //是否跨域
        pathRewrite: { // 如果接口本身没有api的路径,那么这里将发送到后端的请求重写为没有api的路径
          '^/api': '/' 
        }
      }
    }
    ...
    
  • 相关阅读:
    领域驱动设计(Domain Driven Design)
    程序员的梦想:意图编程
    怎样才算是好的软件可维护性设计?
    微软的patternshare.org初步体验
    转:JDepend:管理代码依赖性
    MAB, 专用的amazon浏览器,有点意思!
    宾夕法尼亚大学沃顿商学院:沃顿知识在线
    我的笔记本的鼠标又乱跑了!寻求帮助!
    能否让博客园对Firefox支持得好一些!
    交互设计:《About Face 2.0》中译本精彩节选
  • 原文地址:https://www.cnblogs.com/huyifei/p/10445773.html
Copyright © 2011-2022 走看看