webpack配置:打包第三方类库、第三方类库抽离、watch自动打包、集中拷贝静态资源

1、打包第三方类库

  下面说2种方法:css

  第一种:html

  一、引入jQuery,首先安装:前端

npm install --save-dev jquery

  二、安装好后,在index.js中引入,用jquery语法进行测试vue

import css from './css/index.css';
import less from './css/black.less';
import $ from "jquery";

let hzhSrting = 'Hello Webpack!'
document.getElementById('pic').innerHTML = hzhSrting;

$("#pic").html("引入了jquery");

  三、webpack打包测试,jquery语法正常使用。node

  第二种:jquery

  若是你觉的上面的方法和webpack没什么关系,只是普通的引入,webpack只是负责了一下打包,这样并无全局感。那再学习一种在webapck.config.js中配置的方法,这种不须要你在入口文件中引入,而是webpack给你做了全局引入。这个插件就是ProvidePlugin。webpack

  一、用plugin引入web

  ProvidePlugin是一个webpack自带的插件,因此首先咱们引入webpack:npm

const webpack = require('webpack');

  二、配置:后端

new webpack.ProvidePlugin({
    $:'jquery'
})

  三、配置好后,就能够在你的入口文件中使用了,而不用再次引入了。这是一种全局的引入!

2、抽离第三方类库

  一、修改入口文件(webpack.config.js中)

entry: {
    entry: './src/entry.js',
    jquery:'jquery',
    vue:'vue'
},

  二、引入插件:

const webpack = require('webpack');
new webpack.optimize.CommonsChunkPlugin({
    name:['jquery','vue'],//对应入口文件的jquery(单独抽离)
    filename:'assets/js/[name].js',//抽离到哪里
    minChunks:2//抽离几个文件
}),//优化

  webpack打包,并看效果对比:jquery和vue就抽离出来了,入口文件也变小了。文件中是分别引入了文件。

3、watch自动打包

  随着项目大了,后端与前端联调,咱们不须要每一次都去打包,这样特别麻烦,咱们但愿的场景是,每次按保存键,webpack自动为咱们打包,这个工具就是watch!

  由于watch是webpack自带的插件,因此咱们只须要配置就好了

  一、在webpack.config.js中配置:

watchOptions:{
    poll:1000,//监测修改的时间(ms)
    aggregeateTimeout:500, //防止重复按键,500毫米内算按键一次
    ignored:/node_modules/,//不监测
}

  二、在终端中输入:webpack --watch 进行监测打包。这时咱们改一个文件,再按保存键,webpack就会自动打包。

4、集中拷贝静态资源

  工做中会有一些已经存在但在项目中没有引用的图片资源或者其余静态资源(好比设计图、开发文档),这些静态资源有多是文档,也有多是一些额外的图片。要求你打包时保留这些静态资源,

直接打包到制定文件夹。其实打包这些资源只须要用到copy-webpack-plugin。

  一、首先新建文件夹public,而后在网上随便找几张图片,保存在文件夹内

  二、安装插件

npm install copy-webpack-plugin --save-dev

  三、引入插件

const copyWebpackPlugin = require('copy-webpack-plugin');

  四、配置插件

new copyWebpackPlugin([{
    from:__dirname+'/src/public',//打包的静态资源目录地址
    to:'./public' //打包到dist下面的public
}]),

  打包以后效果以下:

相关文章
相关标签/搜索