mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

当前位置: mg4377娱乐娱城官网 > www.mg4377.com > 正文

【www.mg4377.com】详解基于vue,一的webpack存在难题

时间:2019-06-03 20:02来源:www.mg4377.com
多年来vue-cli更新,用其创设项指标时候,发掘bulid文件下少了三个文件,分别是dev-sever.js和dev-client.js 方今vue-cli更新,用其创设项目标时候,开掘bulid文件下少了三个公文,分别是dev-

多年来vue-cli更新,用其创设项指标时候,发掘bulid文件下少了三个文件,分别是dev-sever.js和dev-client.js

方今vue-cli更新,用其创设项目标时候,开掘bulid文件下少了三个公文,分别是dev-sever.js和dev-client.js
vue-cli 2.8

版本号

多年来的门类度过了初始忙于的基本建设期,也慢慢轻巧下(Panasonic)来,计划记录一下和睦近期webpack优化的法子,希望有温故知新的效用。

vue-cli 2.8

www.mg4377.com 1

  • vue-cli 2.8.一 (终端通过vue -V 可查阅)
  • vue 2.2.2
  • webpack 2.2.1

品类采纳的是vue全家桶,营造配置都以基于vue-cli去改良的。关于原始webpack配置我们可以看下那篇作品vue-cli#2.0 webpack配置分析,小说基本对于文本每行代码都做了详细的讲授,有助于更好的知道webpack。

www.mg4377.com 2

image

目录结构

【www.mg4377.com】详解基于vue,一的webpack存在难题。密切计算了一晃,自个儿的优化宗旨依旧网络流传的那几点

vue-cli 2.9.1

vue-cli 2.9.1

├── README.md
├── build
│  ├── build.js
│  ├── check-versions.js
│  ├── dev-client.js
│  ├── dev-server.js
│  ├── utils.js
│  ├── vue-loader.conf.js
│  ├── webpack.base.conf.js
│  ├── webpack.dev.conf.js
│  └── webpack.prod.conf.js
├── config
│  ├── dev.env.js
│  ├── index.js
│  └── prod.env.js
├── index.html
├── package.json
├── src
│  ├── App.vue
│  ├── assets
│  │  └── logo.png
│  ├── components
│  │  └── Hello.vue
│  └── main.js
└── static
  1. 由此 externals 配置来领取常用库,引用cdn
  2. 合理配置CommonsChunkPlugin
  3. 善用alias
  4. dllplugin启用预编写翻译
  5. happypack多核创设项目

www.mg4377.com 3

www.mg4377.com 4

webpack配置

externals

那是为什么呢

image

根本对build目录下的webpack配置做详细解析

文书档案地址

我们查阅下package.json

这是为啥吗
我们查阅下package.json
vue-cli 2.8

webpack.base.conf.js

以免将或多或少 import 的包(package)打包到 bundle 中,而是在运作时(runtime)再去从外表获得那一个扩大注重(external dependencies)。

vue-cli 2.8

www.mg4377.com 5

输入文件entry

CommonsChunkPlugin

www.mg4377.com 6

image

entry: {
 app: '.src/main.js'
}

文书档案地址

vue-cli 2.9.1

vue-cli 2.9.1

出口文件output

CommonsChunkPlugin 插件,是三个可选的用来塑造一个单独文件(又称作 chunk)的法力,那几个文件包涵七个入口 chunk 的共用模块。通过将公共模块拆出来,最后合成的文件能够在最开首的时候加载一次,便存起来到缓存中供后续使用。这几个带来速度上的升高,因为浏览器会飞快将公共的代码从缓存中抽出来,而不是每一趟访问一个新页面时,再去加载1个越来越大的文书。

www.mg4377.com 7

www.mg4377.com 8

config的配置在config/index.js文件中

resolve.alias

想来 在新型版本的vue-cli中webpack版本更新到v三.陆.0了。

image

output: {
 path: config.build.assetsRoot, //导出目录的绝对路径
 filename: '[name].js', //导出文件的文件名
 publicPath: process.env.NODE_ENV === 'production'? config.build.assetsPublicPath : config.dev.assetsPublicPath //生产模式或开发模式下html、js等文件内部引用的公共路径
}

文书档案地址

既然如此更新了 那就大家就再次开下webpack的安顿项。

由此可见 在最新版本的vue-cli中webpack版本更新到v叁.6.0了。

文本解析resolve

创办 import 或 require 的外号,来确定保证模块引入变得更简便。比方,一些坐落 src/ 文件夹下的常用模块:

vue自启浏览器设置

既然如此更新了 那就我们就再次开下webpack的配置项。

重中之重安装模块怎么着被分析。

然则通过和谐的实施最终叁点是对自身项目优化最大的。小说也重要对前面几点详细说贝拉米下

当我们运行npm run dev实践此cli的时候发掘 居然不会融洽运转浏览器了

vue自启浏览器设置

当大家运转npm run dev实行此cli的时候发掘 居然不会友善运转浏览器了

那样的话 岂不是显摆不了? 不不不 还是可以的,只要大家修改下安顿项就足以了

大家先看看 大家npm run dev 到底实行了怎么
雄起雌伏查看package.json的scripts选项的dev 配置

vue-cli 2.9.1 package.json

www.mg4377.com 9

image

对待下就知晓 当大家运维npm run dev 实际上是施行了webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
vue-cli 2.8 package.json

www.mg4377.com 10

image

跟在此之前运行npm run dev 有差距也好表明了他要去除那多个文本的案由了,因为最新版本的webpack的安顿中是应用webpack-dev-server那么些插件举行的起步浏览器的 能够在官网举行查看他的2个API使用验证

build/webpack.dev.conf.js 运营路径 那查看下其配备

vue-cli 2.9.1 build/webpack.dev.conf.js

www.mg4377.com 11

image

查看API就精晓那一个open 这一个参数正是开垦自启服务器的案由,但是config.dev.autoOpenBrowser那几个是怎样呢,大家得以提升查找

www.mg4377.com 12

image

刚刚对应config的概念 require正是加载进来 那就是继续查占星应的路径刚好对应config文件下的index.js 在require暗中认可是其下的index文件 这里就对应index.js

config/index.js

www.mg4377.com 13

image

此处的autoOpenBrowser对应false ,既然大家要改动那就直接改为true就足以。然后在重启下服务 就能够自运转服务了

里头的port也足以改对应的起步端口,在新型版本的vue-cli配置中 纵然设置的端口被挤占了,他活动会在其端口在加1 开启服务的。


resolve: {
 extensions: ['.js', '.vue', '.json'], //自动解析确定的拓展名,使导入模块时不带拓展名
 alias: {  // 创建import或require的别名
  'vue$': 'vue/dist/vue.esm.js', 
  '@': resolve('src')
 }
}

原来打包二个类型所急需的年月基本在40秒左右,那再通过前边三步优化大约要多长期呢

编辑:www.mg4377.com 本文来源:【www.mg4377.com】详解基于vue,一的webpack存在难题

关键词: VUE