一、webpack简介

At its core, webpack is a static module bundler for modern JavaScript applications.

从本质上来讲,webpack是一个现代的JavaScript应用的静态模块打包工具。

二、webpack安装

安装webpack首先需要安装Node.js,Node.js自带了软件包管理工具npm

1)查看node版本

2)全局安装webpack

先指定版本号3.6.0,因为vue cli2依赖该版本

3)局部安装

--save-dev是开发时依赖,项目打包后不需要继续使用的

4)为什么全局安装后,还需要局部安装呢?在终端直接执行webpack命令,使用的全局安装的webpack

当在package.json中定义了scripts时,其中包含了webpack命令,那么使用的是局部webpack

5)查看webpack版本

三、webpack起步

1)创建相关文件及文件夹

2)使用webpack工具,对多个js文件进行打包

3)index.html中引入

bundle.js文件,是webpack处理了项目直接文件依赖后生成的一个js文件,我们只需要将这个js文件在index.html中引入即可

四、webpack配置

4.1、入口与出口

如果每次使用webpack的命令都需要写上入口和出口作为参数,就非常麻烦,有没有一种方法可以将这两个参数写到配置中,在运行时,直接读取呢?当然可以,就是创建一个webpack.config.js文件

const path = require('path')

module.exports = {

//入口: 可以是字符串/数组/对象

entry: './src/main.js',

output: {

//出口:通常是一个对象

path: path.resolve(__dirname, 'dist'), //绝对路径

filename: 'bundle.js'

},

}

4.2、局部安装webpack

4.3、package.json中定义启动

1)生成package.json文件

2)修改package.json

package.json中的scripts的脚本在执行时,会按照一定的顺序寻找命令对应的位置。首先,会寻找本地的node_modules/.bin路径中对应的命令。如果没有找到,会去全局的环境变量中寻找

3)使用npm run build启动

五、webpack的loader

5.1、什么是loader

5.2、css  loader

5.3、less-loader

5.4、图片文件处理

1)url-loader

2)file-loader

3)修改文件名称

5.5、ES6语法处理

六、webpack配置vue

6.1、引入vue

6.2、打包错误解决

在webpack.config.js中配置:

6.3、el和template区别

6.4、Vue组件化开发引入

6.5、.vue文件封装处理

七、Plugin使用

7.1、认识plugin

7.2、添加版权的Plugin

7.3、打包html的plugin

7.4、js压缩的Plugin

八、搭建本地服务器

九、配置文件分离

1)安装相关插件

2)创建相关文件

base.config.js

注意要修改打包的path,否者会打包到build目录下

const path = require('path')

const webpack = require('webpack')

const HtmlWebpackPlugin = require('html-webpack-plugin')

const UglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin')

module.exports = {

entry: './src/main.js',

output: {

path: path.resolve(__dirname, '../dist'),

filename: 'bundle.js',

// publicPath: 'dist/'

},

module: {

rules: [

{

test: /\.css$/,

// css-loader只负责将css文件进行加载

// style-loader负责将样式添加到DOM中

// 使用多个loader时, 是从右向左

use: [ 'style-loader', 'css-loader' ]

},

{

test: /\.less$/,

use: [{

loader: "style-loader", // creates style nodes from JS strings

}, {

loader: "css-loader" // translates CSS into CommonJS

}, {

loader: "less-loader", // compiles Less to CSS

}]

},

{

test: /\.(png|jpg|gif|jpeg)$/,

use: [

{

loader: 'url-loader',

options: {

// 当加载的图片, 小于limit时, 会将图片编译成base64字符串形式.

// 当加载的图片, 大于limit时, 需要使用file-loader模块进行加载.

limit: 13000,

name: 'img/[name].[hash:8].[ext]'

},

}

]

},

{

test: /\.js$/,

exclude: /(node_modules|bower_components)/,

use: {

loader: 'babel-loader',

options: {

presets: ['es2015']

}

}

},

{

test: /\.vue$/,

use: ['vue-loader']

}

]

},

resolve: {

extensions: ['.js', '.css', '.vue'],

alias: {

'vue$': 'vue/dist/vue.esm.js'

}

},

plugins: [

new webpack.BannerPlugin('最终版权归aaa所有'),

new HtmlWebpackPlugin({

template: 'index.html'

})

]

}

View Code

dev.config.js

const webpackMerge = require('webpack-merge')

const baseConfig = require('./base.config')

module.exports = webpackMerge(baseConfig, {

devServer: {

contentBase: './dist',

inline: true

}

})

View Code

prod.config.js

const UglifyjsWebpackPlugin = require('uglifyjs-webpack-plugin')

const webpackMerge = require('webpack-merge')

const baseConfig = require('./base.config')

module.exports = webpackMerge(baseConfig, {

plugins: [

new UglifyjsWebpackPlugin()

]

})

View Code

vue webpak版本 查看_Vue(四)--webpack相关推荐

  1. vue webpak版本 查看_vue 安装webpack

    webpack安装 由于 webpack 执行打包压缩时依赖 nodeJS,所以在安装 webpack 之前先安装一下 nodeJS. 因为 npm 是 nodeJS 平台默认的包管理工具,这里用 n ...

  2. vue webpak版本 查看_vue版本以及webpack版本

    vue作为大前端的主流框架 更新速度也是极快. 那么vue的更新会有哪些问题呢?最近在搭建vue框架的时候发现由于vue版本的快速迭代已经与原本般配的webpack产生了隔阂.webpack作为大前端 ...

  3. 查看vue的版本命令,以及vue脚手架的版本命令

    查看vue版本的命令: [ 害我找了半天!!! 谁不知道-version啊,一天天净发些没用的 ] npm list vue 脚手架版本命令,这个大家倒是都知道 vue -V  或者 vue --ve ...

  4. 查看vue版本和vue脚手架版本

    打开cmd控制台: 输入vue --version(俩个-)或 vue -V(第二个V要大写)查看vue脚手架版本: 输入npm list vue -g 查看vue版本和vue脚手架版本:

  5. vue基础,加少量的webpack,以及脚手架搭建vue项目

    这是我学习vue基础时候的笔记,在b站上跟着敲的,一开始是有道云笔记的形式,为了上传到博客整理了两个小时改成了markdown的形式,喜欢的点个赞,谢谢. 文章目录 一. vue基本使用 1. 实例参 ...

  6. day 86 Vue学习之五DIY脚手架、webpack使用、vue-cli的使用、element-ui

    本节目录 一 vue获取原生DOM的方式 二 DIY脚手架 三 vue-cli脚手架的使用 四 webpack创建项目的玩法 五 element-ui的使用 六 xxx 七 xxx 八 xxx 一 v ...

  7. day 83 Vue学习之五DIY脚手架、webpack使用、vue-cli的使用、element-ui

    Vue学习之五DIY脚手架.webpack使用.vue-cli的使用.element-ui 本节目录 一 vue获取原生DOM的方式 二 DIY脚手架 三 vue-cli脚手架的使用 四 webpac ...

  8. vue专题之vue不同版本安装卸载、版本号查询【三】

    背景 vue版本主要是说项目依赖的vue版本,以及当前系统环境安装了的vue脚手架版本,即vue-cli版本 特别是vue-cli版本,通常项目的创建都是通过vue-cli来的 vue-cli高版本创 ...

  9. vue按需加载组件-webpack require.ensure(转)

    vue按需加载组件-webpack require.ensure 2017年07月28日 09:58:07 A_山水子农 阅读数:23245 标签: vue按需加载组件按需加载webpackrequi ...

最新文章

  1. TypeError: cannot concatenate ‘str‘ and ‘list‘ objects
  2. 为了爱情,吃掉150瓶“老干妈”的程序员
  3. HashSet的简单实现
  4. Java项目构建基础:统一结果,统一异常,统一日志
  5. HDU - 1796——容斥原理+二进制枚举
  6. Android获取手机联系人或通讯录的基本信息(如姓名、电话)
  7. 为什么我 11 岁的儿子说要放弃编程,却又转战 Python
  8. 在Ubuntu搭建网站环境问题记录
  9. 如何访问服务器表中信息,如何在 RADIUS 服务器的拨号接口上应用访问列表
  10. 不虚此行!OpenStack 温哥华峰会参会分享值得收藏
  11. Tensorflow+Keras+VGG19 猫狗大战分类
  12. 一口气用Python写了13个小游戏(附源码)
  13. Dining POJ - 3281 (网络流)
  14. 企业生产管理集成的核心工具—MES管理系统
  15. zip压缩到指定目录
  16. Mybatis中的多对一、一对一、一对多
  17. 华为智慧屏x65鸿蒙系统,华为智慧屏X65迎来鸿蒙系统2.0版本升级
  18. 微信抢红包的方案_微信抢红包方法图文详解
  19. 预测机械剩余使用寿命的深度可分离卷积神经网络
  20. 关于 getWriter() has already been called for this response 的错误解决办法

热门文章

  1. 用纯CSS画出蓝天白云(详细版)
  2. ChatGPT到底是个啥?它会让我们失业么?
  3. 后端学习攻略,助你打怪升级
  4. 苹果iOS各版本的分布情况
  5. js 关于 toFixed 问题的总结
  6. 行为心理学课件——自杀及行为干预
  7. Centos6下RocketMQ集群部署记录
  8. Redis--开发 Spring Redis 应用程序
  9. c++中string中find用法(快速入门)
  10. 《苔花如米小,也学牡丹开》和《“精日”分子》观后感 焦帅宾