一、打包第三方类库

  下面说2种方法:

  第一种:

  1、引入jQuery,首先安装:

  1. npm install --save-dev jquery

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

  1. import css from './css/index.css';
  2. import less from './css/black.less';
  3. import $ from "jquery";
  4.  
  5. let hzhSrting = 'Hello Webpack!'
  6. document.getElementById('pic').innerHTML = hzhSrting;
  7.  
  8. $("#pic").html("引入了jquery");

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

  第二种:

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

  1、用plugin引入

  ProvidePlugin是一个webpack自带的插件,所以首先我们引入webpack:

  1. const webpack = require('webpack');

  2、配置:

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

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

二、抽离第三方类库

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

  1. entry: {
  2. entry: './src/entry.js',
  3. jquery:'jquery',
  4. vue:'vue'
  5. },

  2、引入插件:

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

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

三、watch自动打包

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

  因为watch是webpack自带的插件,所以我们只需要配置就行了

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

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

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

四、集中拷贝静态资源

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

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

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

  2、安装插件

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

  3、引入插件

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

  4、配置插件

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

  打包之后效果如下:

webpack配置:打包第三方类库、第三方类库抽离、watch自动打包、集中拷贝静态资源的更多相关文章

  1. webpack快速入门——集中拷贝静态资源

    工作中会有一些已经存在但在项目中没有引用的图片资源或者其他静态资源(比如设计图.开发文档), 这些静态资源有可能是文档,也有可能是一些额外的图片.项目组长会要求你打包时保留这些静态资源, 直接打包到制 ...

  2. webpack快速入门——实战技巧:watch的正确使用方法,webpack自动打包

    随着项目大了,后端与前端联调,我们不需要每一次都去打包,这样特别麻烦,我们希望的场景是,每次按保存键,webpack自动为我们打包,这个工具就是watch! 因为watch是webpack自带的插件, ...

  3. Jenkins 实现前端自动打包,自动部署代码及邮件提醒功能

    在之前的公司,我们前端使用webpack构建项目,项目构建完成后,我们会使用ftp或linux的一些命令工具上传我们的文件到服务器上,这种方式虽然是可以,但是最近面试的时候,人家会问我前端如何部署项目 ...

  4. Android ant自动打包脚本:自动替换友盟渠道、版本号、包名

    本文最后修改时间:2014-3-10 Android项目开发时,给公司人员安装,频繁升级,版本号总需要改,太麻烦,跟着时间变,自动升级才方便. Android项目开发新版时,手机上可能要装两个版本,一 ...

  5. maven打包 springBoot 工程时,默认识别resources目录,习惯使用 resource 目录的需要手动指定静态资源目录

    最近项目开发,发现springBoot项目在使用maven打包时,我们静态资源文件都放在resource目录下面,大致如下: 在使用maven打包时,发现静态资源没有打进去.原来springBoot默 ...

  6. SpringMVC REST 风格静态资源访问配置

    1 在web.xml中使用默认servlet处理静态资源,缺点是如果静态资源过多,则配置量会比较大,一旦有遗漏,则会造成资源无法正常显示或404错误. <!-- 静态资源访问控制 --> ...

  7. 建立apk定时自动打包系统第三篇——代码自动更新、APP自动打包系统

    我们的思路是每天下班后团队各成员在指定的时间(例如下午18:30)之前把各自的代码上传到SVN,然后服务器在指定的时间(例如下午18:30)更新代码.执行ant 打包命令.最后将apk包存放在指定目录 ...

  8. SpringBoot:静态资源映射、定制404、配置icon

    目录 静态资源映射规则 定制首页 定制错误页面 配置 icon 静态资源映射规则.定制首页.定制404页面.配置网站的图标 静态资源映射规则 SpringBoot中对于静态资源(css,js,img. ...

  9. 走进webpack(2)--第三方框架(类库)的引入及抽离

    在当代的前端开发中,很少会用原生JS来开发页面,最基本的都会使用jQuery来节省我们开发的时间和效率,而angular,vue,react的出现更是为前端开发者带来了福音.那么这篇文章就说说如何用w ...

随机推荐

  1. guake终端复制标签页

    平时习惯用的终端是下拉式终端guake,开多个标签各司其职,热键一按,呼之即来,挥之即去. 但用一个东西,就难免会有不爽的地方,比如每次想复制一个标签页,就要3步,1 新建标签页, 2 切换到之前的路 ...

  2. 内存管理相关函数 -- Linux【转】

    转自:http://blog.csdn.net/cy_cai/article/details/47001245 1.kmalloc()/kfree() static __always_inline v ...

  3. python发布包到pypi的踩坑记录

    前言 突然想玩玩python了^_^ 这篇博文记录了我打算发布包到pypi的踩坑经历.python更新太快了,甚至连这种发布上传机制都在不断的更新,这导致网上的一些关于python发布上传到pypi的 ...

  4. 3.flume安装以及环境配置

    1.安装jdk 我这里已经安装过了,这里就不演示了 2.安装flume 安装cdh版本的,http://archive.cloudera.com/cdh5/cdh/5/ 安装完毕之后,配置环境变量. ...

  5. inside a shard

    fsync sync fsync/syncsync is a standard system call in the Unix operating system, which commits to d ...

  6. java Class.forName()

    Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类. 虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class ...

  7. Selenium2+python自动化48-登录方法(参数化)【转载】

    前言 登录这个场景在写用例的时候经常会有,我们可以把登录封装成一个方法,然后把账号和密码参数化,这样以后用的登录的时候,只需调用这个方法就行了 一.登录方法 1.把输入账号.输入密码.点击登录按钮三个 ...

  8. eclipse 关键字高亮显示

    关键字高亮显示(变量.函数名……) Toggle Mark Occurrences  (Alt + Shift + O), 也可以在eclipse主界面的快捷工具栏:按下那个小黄蜡笔图标,来设置高亮显 ...

  9. 手工安装kubernetes

    参考的URL是 http://www.cnblogs.com/zhenyuyaodidiao/p/6500830.html 安装kubernets本身比较顺利,只是作dashboard时,老是日文版, ...

  10. 【转】Ubuntu 14.04.3上配置并成功编译Android 6.0 r1源码

    http://www.linuxidc.com/Linux/2016-01/127292.htm 终于成功把Android 6.0 r1源码的源码编译.先上图,这是在Ubuntu中运行的Android ...