资讯专栏INFORMATION COLUMN

基于webpack模仿vue-cli(简略版)工程化

GitCafe / 1105人阅读

摘要:但高度封装的带来方便的同时,很多人却很少去关注轮子的内部结构,以至于当使用需要手动配置一些东西如编译实现代码压缩,移动端适配等配置的时候往往无从下手。废话不多说,下面我们来看看如何基于模仿实现项目工程化。

从零搭建vue-cli

原创不易,如需转载请联系作者并注明出处

vue-cli的出现为vue工程化前端开发工作流提供了开箱即用的构建配置,减轻了烦人的webpack配置流程。但高度封装的cli带来方便的同时,很多人却很少去关注轮子的内部结构,以至于当使用vue-cli需要手动配置一些东西(如编译less,scss,实现代码压缩,移动端适配等配置)的时候往往无从下手。废话不多说,下面我们来看看如何基于webpack模仿vue-cli实现vue项目工程化。

如果本demo对你学习和理解vue-cli有帮助,请给我个star~~谢谢
本demo github地址: https://github.com/hedonghui/...
目录

1.webpack初始化及webpack周边相关配置
2.静态资源加载及css与处理器
3.webpack-dev-server及开发模式相关配置
4.配置vue的jsx写法及postcss相关
5.css多带带分离打包
6.代码分离及生产环境浏览器缓存相关

通过webpack搭建vue工程

首先我们来看看本文章demo完成后的整体packgage.json的包依赖结构:

下面我们来对这里面的所有包作用进行大体分析:
(本demo将不同环境webpack相关配置写在同一个config.js,packgage.js里基本不区分dependencies devDependencies,有异与 vue-cli官方将不同环境配置分开不同文件的方式,,读者可以根据webpack官
方文档推荐的webpack-merge工具并参考vue-cli源码进行相关配置。对于学习无伤大雅)

vue相关初始化

首先新建一个文件夹,打开命令行窗口进行 npm init 初始化

先来看看安装的这几个包:

1.webpack---------此处省略200字
2.vue-----------Vue包
3.css-loader--------------处理打包css文件
4.vue-loader---------------处理打包.vue文件(依赖于css-loader, vue-template-compiler)
5.vue-template-compiler ----------------处理vue模板