电商后台管理系统——项目优化策略

一 通过 vue.config.js 修改webpack的默认配置

通过 vue-cli 3.0工具生成的项目,默认隐藏了所有 webpack 的配置项,目的是为了屏蔽项目的配置过程,让程序员把工作的重心,放到具体功能和业务逻辑的实现上。

如果程序员有修改 webpack 默认配置的需求,可以在项目根目录,按需创建 vue.config.js 这个配置文件,从而对项目的打包发布过程做自定义的配置。

具体参考:https://cli.vuejs.org/zh/config/#vue-config-js

// vue.config.js
// 这个文件,应该导出一个包含了自定义配置选项的对象
module.exports = {
    // 选项...    
}

二 为开发模式与发布模式指定不同的打包入口

默认情况下,Vue项目的开发模式与发布模式,共用同一个打包的入口文件(src/main.js)。为了将项目的开发过程与发布过程分离,我们可以为两种模式,各自指定打包的入口文件,即:

1 开发模式的入口文件:src/main-dev.js

2 发布模式的入口文件;src/main-proc.js

三 configureWebpack 和 chainWebpack

在 vue.config.js 导出的配置对象中,新增 configureWebpack 或 chainWebpack 节点,来自定义webpack的打包配置。

在这里,configureWebpack 和 chainWebpack 的作用相同,唯一的区别是它们修改 webpack 配置的方式不同。

1 configureWebpack 通过链式编程的形式,来修改默认的 webpack 配置。  

2 chainWebpack 通过操作对象的形式,来修改默认的 webpack 配置。

两者具体的使用差异,可参考如下:

https://cli.vuejs.org/zh/guide/webpack.html

四 通过 chainWebpack  自定义打包入口

1 修改 vue.config.js ,配置开发模式和发布模式的打包

module.exports  = {
    chainWebpack: config =>{
        config.when(process.env.NODE_ENV === 'production',config=>{
            config.entry('app').clear().add('./src/main-prod.js')
        })

        config.when(process.env.NODE_ENV === 'development',config=>{
            config.entry('app').clear().add('./src/main-dev.js')
        })
    }
}

2 测试方式

五 通过 externals 加载外部 CDN 资源

默认情况下,通过 import 语法导入的第三方依赖包,最终会被打包合并到同一个文件中,从而导致打包成功后,单文件体积过大。

为了解决上面这个问题,可以通过 webpack 的externals 节点,来配置并加载外部的 CDN 资源。凡是声明在 externals 中的第三方依赖包,都不会被打包。

1 修改 vue.config.js

config.set('externals',{
    vue:'Vue',
    'vue-router':'VueRouter',
    axios:'axios',
    lodash:'_',
    echarts: 'echarts',
    nprogress: 'NProgress',
    'vue-quill-editor':'VueQuillEditor'
})

2 在 public/index.html 文件头部,添加如下 CDN 资源引用

<!-- nprogress 的样式表文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.css" />
<!-- 富文本编辑器 的样式表文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.core.min.css" />
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.snow.min.css" />
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.bubble.min.css" />

<script src="https://cdn.staticfile.org/vue/2.5.22/vue.min.js"></script>
<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
<script src="https://cdn.staticfile.org/lodash.js/4.17.11/lodash.min.js"></script>
<script src="https://cdn.staticfile.org/echarts/4.1.0/echarts.min.js"></script>
<script src="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.js"></script>
<!-- 富文本编辑器的 js 文件 -->
<script src="https://cdn.staticfile.org/quill/1.3.4/quill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-quill-editor@3.0.4/dist/vue-quill-editor.js"></script>

3 优化结果

六 参考

https://blog.csdn.net/Kobe_k/article/details/107017630

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一. 简易后台管理系统功能: 1.1) 登录验证:登录时检测帐号密码是否正确及用户是否有效。否则给予提示并需要重新输入 1.2) 权限管理功能:登录后,根据当前角色获取该角色的权限,权限在左侧列表显示,点击左侧列表前往相应界面 1.3) 角色管理功能:可根据不同角色分配不同权限。 1.4) 日志记录功能:通过切面和注解的形式自动记录需要记录的操作 1.5) 前台:界面右侧的导航栏添加右键关闭当前、关闭其它、关闭所有tab的功能,提供收起、展开左侧导航列表功能,列表界面配合mybatis分页插件进行分页,提供便捷的增删改查和批量操作模版,提供简易的页面元素验证方式,提供form表单元素自动加载功能,提供图片上传及预览示例,提供前后台数据快速交互示例等 1.6) 后台:提供基本的Controller,service, mapper,使能够极快速得获取数据; 提供异常/错误页面处理;提供是否有效用户访问校验,未登录者需先登录;提供代码生成工具类,可一键生成所需的基本代码,生成的代码模版中增删改查功能直接可用。 二. 使用步骤 2.1).下载后解压。导入项目。 2.2).执行init中的sql。主要是要把系统用户建立起来。 2.3).运行项目,前台输入http://localhost:8080 可前往登录页。 2.4).帐号 admin 密码 123456 登录。 登录进去之后就自己玩啦。 2.5).上传资源的位置默认为当前项目同一级的路径,可以在uploadSetting.properties中设置 #原博客见: https://blog.csdn.net/HelloWorld_In_Java/article/details/83794696

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值