Vuejs Webpack详解

Vuejs Webpack详解

目录

Vuejs Webpack详解

什么是Webpack?

前端模块化

和grunt/gulp的对比

webpack安装

webpack基本使用

VS Code Webpack打包问题处理

 使用ES6导出方式

入口和出口 webpack配置文件

局部安装webpack

package.json中定义启动

什么是loader?

css文件处理

css文件处理 - 准备工作

css文件处理 – 打包报错信息

css文件处理 – css-loader

css文件处理 – style-loader

示例:将css文件打包到js文件中

less文件处理

less文件处理 – 准备工作

​less文件处理 – less-loader 

 less文件示例

图片文件处理

图片文件处理 – 资源准备阶段

图片文件处理 – url-loader

图片文件处理 – file-loader

图片文件处理 – 修改文件名称

示例

ES6语法处理

引入vue.js

打包项目 – 错误信息

el和template区别

Vue组件化开发引入

 .vue文件封装处理

 自动填充后缀

认识plugin

添加版权的Plugin

打包html的plugin

js压缩的Plugin

搭建本地服务器

webpack配置文件分离

什么是Webpack?

  • 从本质上来讲,webpack是一个现代的JavaScript应用的静态模块打包工具
  • 但是它是什么呢?
    • 用概念解释概念,还是不清晰。 我们从两个点来解释上面这句话:模块打包

前端模块化

 

 

和grunt/gulp的对比

webpack安装

  •  安装命令: npm install webpack@3.6.0 -g

  •  查看版本:

 

webpack基本使用

VS Code Webpack打包问题处理

  • 示例:

  •  查看生成的文件:

  • 引用bundle.js即可

  •  执行结果:

 

 使用ES6导出方式

  •  引用:

  •  输出:

 

入口和出口 webpack配置文件

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

  •  示例:
  •  先在webpack.config.js 目录下执行 npm init 

  •  定义包的名字

 

 

  • 回车生成package.json 

  •  如果package.json有依赖,输入 npm install 安装

  •  写webpack.config.js配置文件:
const path = require('path')

module.exports = {
    entry: './src/main.js',
    output:{
        path: path.resolve(__dirname, 'dist'),
        filename:'bundle.js'
    },

}

  •  执行webpack

 

  •  将webpack命令和npm run build进行映射(优先使用本地webpack)

 

局部安装webpack

  •  npm install webpack@3.6.0 --save-dev

  •  package.json多出开发时依赖

package.json中定义启动

什么是loader?

css文件处理

css文件处理 - 准备工作

 

css文件处理 – 打包报错信息

css文件处理 – css-loader

 

 

css文件处理 – style-loader

 

  •  使用:

示例:将css文件打包到js文件中

  •  添加依赖

 

  • 直接在命令行中使用npm run build 报错,先安装 loader

  • npm install --save-dev  style-loader@1.0.1

  • 修改配置文件(多个loader从右向左读取):

  •  执行脚本 npm run build

less文件处理

less文件处理 – 准备工作

less文件处理 – less-loader 

 less文件示例

  •  创建less文件

 

  •  添加依赖:

图片文件处理

图片文件处理 – 资源准备阶段

图片文件处理 – url-loader

图片文件处理 – file-loader

图片文件处理 – 修改文件名称

示例

  • 先安装 npm install --save-dev url-loader@1.1.2, 命名: 'name:'img/[name].[hash:8].[ext]'

  •  小于设置的值,需要使用file-loader
    •  npm install --save-dev file-loader@3.0.1
  • 修改路径(URL自动拼接dist/ ,发布时index.html放在dist目录下需要删除这个拼接):

 

  •  最终效果:

ES6语法处理

  •  配置:

 

引入vue.js

  •  安装:

 

  • 使用:

打包项目 – 错误信息

  • 配置

 

el和template区别

  •  template替换掉el元素所在位置:

 

Vue组件化开发引入

  • 进行分离:
import Vue from "vue";

const App={
    template:`
    <div>
        <h2>{{message}}</h2>
        <button @click="btnClick">按钮</button>
        <h2>{{name}}</h2>
    </div>
    `,
    data(){
       return  {
            message: "Hello Vue and Webpack",
            name:'vue'
        }
    },
    methods:{
        btnClick(){

        }
    }

}

new Vue({
    el:"#app",
    template:`<App/>`,
    component:
    {
        App
    }
});
  • 直接新建vue文件夹,建立app.js文件

 引入使用

 

 .vue文件封装处理

  •  npm install vue-loader vue-template-compiler --save-dev

  •  配置:

 

  •   案例:

  •  使用:

 

 自动填充后缀

 

认识plugin

添加版权的Plugin

  •  示例:

 

  •  结果:

打包html的plugin

  • npm install html-webpack-plugin@3.2.0 --save-dev

  •  示例
    • 下载插件后进行配置:

js压缩的Plugin

  • npm install uglifyjs-webpack-plugin@1.1.1 --save-dev

搭建本地服务器

  • npm install --save-dev webpack-dev-server@2.9.1

  •  示例:

 

  •  添加脚本文件:

 

webpack配置文件分离

  •  新建build目录,建立基本的配置文件 base.config.js,放一些公共的东西,比如不要配置服务器已经发布时的丑化
  •  然后再build目录下创建prod.config.js以及dev.config.js

  • 然后在webpack.config.js同级目录下
    • npm install webpack-merge --save-dev
  •  安装好插件后进行合并:

  • 修改配置文件

  • 修改目标目录: 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值