项目优化

↘锁芯ラ 提交于 2019-12-17 19:37:47
1.第三方库启用CDN   //vue.config.js-> chainWebpack.config=>{  config.set('externals',{不要打包的依赖项}) }
    2.UI组件按需导入  //把发布模式的main.js element-ui 按需导入文件注释 引用CDN样式和js
    3.路由懒加载 //@babel/plugin-syntax-dynamic-import  ->  babel.config.js中plugins加上'@插件名' ->把路由修改成按需加载形式  const Login = ()=>import('/* webpackChunkName:"login_home_welcome" */ '路由组件路径') //  /* */里写捆绑的自定义路由组
    4.首页内容定制
    5.生成打包报告  报告在vue ui 下面可以看依赖项大小;也可以vue-cli-serve build --report
  其他优化:Nprogress进度条(写在拦截器里,请求拦截start响应拦截done)
   1.ESLint代码规范在.prettierrc里配置(如让一行代码满2000字符换行:"printWidth":200)
      2.babel.config.js里可以用remove-console插件(在plugins里写)移除build时的console.log
        解决dev也移除console:在babel.config.js里获取process.env.NODE_ENV==='production',是就push remove-console,然后在plugins展开数组
          3.配置console是否移除  在vue.config.js里面写 记得要导出
        chainWebpack.config=>{
            config.when(process.env.NODE_ENV==='production',config=>{config
            .entry('app')
            .clear()
            .add('./src/main-prod.js')
              //配置html模板是否渲染相关内容
            config.plugin('html').tap(args=>{
                args[0].isProd = true   //开发写false,index模板里用htmlWebpackPlugin.options.isProd判断是否展示script和link标签
                return args   
            })
            //在发布模式配置externals节点,让这些文件不要打包,直接用CDN(CDN要同步引入index.html)
            config.set('externals',{
                vue:'Vue',
                'vue-router':'VueRouter',
                axios:'axios',
                echarts:'echarts',
                nprogress:'Nprogress',
                'vue-quill-editor':'VueQuilleditor'
            })
            })
            config.when(process.env.NODE_ENV==='development',config=>{config
            .entry('app')
            .clear()
            .add('./src/main-dev.js')})
        }
          4.pm2 关闭cmd也正常运行服务器   npm i pm2 -g -> pm2 start app.js --name 0
            查看运行项目: pm2 ls  
            重启项目: pm2 restart 自定义名称
            停止项目: pm2 stop 自定义名称
            删除项目: pm2 delete 自定义名称

  


  

       

     

      
        

      
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!