webpack+vue多入口环境搭建
项目地址:https://pan.baidu.com/s/1c1Dflp2
使用前提:安装nodejs环境,webpack的配置官网的例子跟着跑一遍,会vue开发
研究webpack+vue研究了一个多星期了,走了很多坑,现在在下面写一下那些年的那些坑。
项目文件夹解释:compaent文件夹是通用的vue组件存放的地方,image文件夹是图片存放地址,professional文件夹是业务文件存放地址
搭建前必看:我们搭建前在网上找了很多的资料,觉得这篇是不错的对搭建WV环境有好处的:http://www.cnblogs.com/linfangshuhellowored/p/5657285.html
坑1:webpack+vue(以下简称WV)的项目结构
在使用WV框架之前,我使用的项目结构是普通的那种就是所有的css在一个文件夹 所有的js在一个文件夹 所有的图片在一个文件夹 所有的html在一个文件夹,在WV框架下我的结构是业务主导型 简单来说就是整个项目有一个base.css, 然后vue.js作为base.js,然后其他所有的页面通用型的vue组件合并文一个js文件叫做compaent,这三个文件是每一个html必须引用的 他们直接放在文件的根目录下,然后业务js,业务css,业务html放在同一个文件夹里面。
坑2:多入口
好像网上好多例子都是但入口,后来找到一些是实现多入口的,但是我们的html文件是几十个总不能一个一个写吧,所以找了一个方法,这个getEntry里面通过nodejs的path模块和glob模块匹配目录下所有的指定文件,这样就省事多了(如果听不懂我在说什么 这个说的比较好:http://www.cnblogs.com/legu/p/5741116.html)
坑3:css分离
使用es6的写法后,我们页面的css一般都是这种姿势引人用的 var detailsCSS = require('../app/details.css') ,这个时候如果直接打包的话 会把details.css直接打包到页面里,如果有用学想分离的话,可以使用extract-text-webpack-plugin插件,使用方式参考我的代码啊,
坑4:提取公共js
我们用vue和vue组件 肯定要在页面js里面引入这些js吧 如:import Vue from 'vue',import detailbtn from './components/detailbtn', 如果我们什么都不做直接就打包最后的结果就是每个业务js里面都会包含vue.js的源码 和vue组件的源码,这应该不是我们要的效果吧,我们要的是vue分离出来,vue组件分离出来,我们使用CommonsChunkPlugin插件:他的使用我可以参开这个:http://blog.csdn.net/github_26672553/article/details/52280655
坑5:版本号控制
清除缓存肯定要用版本号啊,我们分离了css肯定要在页面单独用link方式引入啊,分离了js肯定要script方式单独引入啊,可以使用这个插件:html-webpack-plugin 他的用法是生成html文件,主要是他可以参照模板来生成,而且还支持添加script方式引入js,想想一下:如果我们获取到我们所有的目录html 然后用这个插件对我们所有的html统一处理一下,批量引入分离的js文件 在引入的时候支持hash控制,参考:http://www.cnblogs.com/wonyun/p/6030090.html
坑6:图片资源打包
图片资源打包其实很简单,只是本身的打包不支持html里面引入的图片 ,这个时候我们用html-withimg-loader插件啊,(全局搜索我的webconfig文件 搜html-withimg-loader)需要安装url-loader插件和html-withimg-loader插件
大家有什么问题,写在评论里,我会回答的
webpack+vue多入口环境搭建的更多相关文章
- windows下vue.js开发环境搭建教程
这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...
- webpack+babel+ES6+react环境搭建
webpack+babel+ES6+react环境搭建 步骤: 1 创建项目结构 注意: 先创建一个项目目录 react 这个名字自定义,然后进入到这个目录下面 mkdir app //创建app ...
- Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...
- vue.js开发环境搭建以及创建一个vue实例
Vue.js 是一套构建用户界面的渐进式框架.Vue 只关注视图层, 采用自底向上增量开发的设计.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 在使用 vue.js ...
- vue的开发环境搭建命令加图解
vue的开发环境的搭建 不管什么软件我们都要去官网下载安装,这是作为专业程序员的安全意识. 1.安装node.js 官方下载的页面:点击这里 大约展示的页面是这样子的!我们演示是windows 64位 ...
- vue学习001 --环境搭建
系统 : win cmd: cmder 链接:https://cmder.net/ 1.安装node.js 链接地址: http://cdn.npm.taobao.org/dist/node/v10. ...
- 应用一:Vue之开发环境搭建
简单分享下vue项目的开发环境搭建流程~ 1.安装nodeJS vue的运行是要依赖于node的npm的管理工具来实现,下载地址:https://nodejs.org/en/.安装完成之后以管理员身份 ...
- Vue ---- 项目与环境搭建 初始项目结构 Vue生命周期
目录 1. vue环境搭建 2. Vue项目搭建 pycharm配置并启动vue项目 3 . 认识项目 1. vue项目目录结构 2. 配置文件:vue.config.js 3. main.js 4. ...
- Electron+Vue+ElementUI开发环境搭建
Node环境搭建 本文假定你完成了nodejs的环境基础搭建: 镜像配置(暂时只配置node包镜像源,部分包的二进制镜像源后续讨论).全局以及缓存路径配置,全局路径加入到了环境变量 $ node -v ...
随机推荐
- android linux 休眠 深度睡眠 查看 方法 调试【转】
本文转载自:https://blog.csdn.net/u011006622/article/details/72900552 在Android移动设备中,有时按下Power键(未接电源,USB)时, ...
- Manjaro 安装与配置
1.系统安装 Win下使用usbWriter制作安装盘,Manjaro下使用自带的SUSE Studio Imangewriter. 2.初始化配置 2.1.换源,装aurman yaourt虽然已经 ...
- 给ThinkPad E470C 换个高分屏(1080P)
- POJ 2226 Muddy Fields(最小点覆盖)题解
题意:一片r*c的地,有些地方是泥地,需要铺地板.这些地板宽1,长无限,但只能铺在泥地上不能压到其他地方,问你铺满所有泥地最少几块 思路:我们把一行中连续的泥地看成整体,并把所有横的整体里的点编成一个 ...
- 【Dalston】【第六章】API服务网关(Zuul) 下
Zuul给我们的第一印象通常是这样:它包含了对请求的路由和过滤两个功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础.过滤器功能则负责对请求的处理过程进行干预,是实 ...
- C语言 字符串大小写转换 自定义函数
#include <stdio.h>#include <stdlib.h>#include <string.h> char * strtolower(char * ...
- 未能加载文件或程序集“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKe
https://bbs.csdn.net/topics/392046946 电脑没安装mvc4,应该是,解决这个问题一上午了今天,然后装完了后就好了! https://www.microsoft.co ...
- Multi-attention Network for One Shot Learning
Multi-attention Network for One Shot Learning 2018-05-15 22:35:50 本文的贡献点在于: 1. 表明类别标签信息对 one shot l ...
- 物体检测算法 SSD 的训练和测试
物体检测算法 SSD 的训练和测试 GitHub:https://github.com/stoneyang/caffe_ssd Paper: https://arxiv.org/abs/1512.02 ...
- urllib模块中的方法
urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作.本例试着打开google ...