Vue模板、JS、CSS分离实现

本文探讨了如何将Vue.js文件中的HTML、CSS、JS分离,以解决模块划分和内聚问题。通过介绍一种解决方案,包括插件安装、Webpack打包改造,实现了细粒度的按功能分治。文章还详细阐述了自动创建模板功能的实现,以及插件的工作原理,提供了一个大型复杂应用的种子示例工程。
摘要由CSDN通过智能技术生成

Vue.js文件默认由templatestylescript三种标签将HTML、CSS、JS混合到一个文件当中。

这种模式有它一定的优势,即:当单个VUE文件如果样式、逻辑、模板相对简单时以上结构能很大程度上降低逻辑复杂度,页面功能和整体结构也一目了然。但是,当页面功能内容偏多,交互逻辑复杂,模板嵌套多层时将会出现如下图这种况。几百上千行的代码杂柔在一个文件中,当涉及到重构,维护时将会是个焦油坑。例如下图(733行,所有的css/js/html杂柔在一起,不利于维护,逻辑非常不清晰):
这种情况可以通过3种情况来改善:

1.将逻辑通过组件方式抽离再引入
2.将css通过@import方式抽离再引入
3.将css/js/html全部抽离,只保留模块主入口文件再引入

前面1,2种都不能很好解决模块划分,内聚模块分治问题,本文讨论的是第3种解决方案,最终效果如下:


二、解决方案

针对这个问题,有人提出过相关的ISSUE,

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值