1.webpack是什么?

打包前端项目的工具(为项目提高逼格的东西)。

2.webpack的基本命令

  webpack#最基本的启动webpack命令

  webpack-w #提供watch方法,实时进行打包更新

  webpack -p #对打包后的文件进行压缩

  webpack -d #提供SourceMaps,方便调试

  webpack --colors #输出结果带彩色

  webpack --profile #输出性能数据,可以看到每一步的耗时

  webpack --display-modules #默认情况下 node_modules 下的模块会被隐藏,加上这个参数可以显示这些被隐藏的模块

3.webpack常用调试参数

  webpack-dev-server 在 localhost:8080 建立一个 Web 服务

  devtool eval 为你的代码创建源地址。当有任何报错的时候可以让你更加精确地定位到文件和行号

  progress 显示合并代码进度

  colors 命令行中显示颜色!

  content-base build - 指向设置的输出目录

使用:

  1. "scripts": {
  2. "build": "webpack",
  3. "dev": "webpack-dev-server --port 9090 --devtool cheap-module-eval-source-map --progress --colors --hot --content-base ./"
  4. }

 4.resolve中extensions的使用

  1. resolve: {
  2. extensions: ['', '.js', '.jsx']
  3. }

resolve: 定义了解析模块路径时的配置,常用的就是extensions; 可以用来指定模块的后缀,这样在引入模块时就不需要写后缀,会自动补全。

怎么个补全法?

  1. import { ModalSuccess,
  2. ModalError,
  3. Header } from '../../component/index.jsx';
  4.  
  5. //下面的不需要加jsx后缀
  6. import { ModalSuccess,
  7. ModalError,
  8. Header } from '../../component/index';

 5.output的使用

  output用来定义打包后输出的文件目录以及名称

  1. output: {
  2. filename: "build.js",
  3. path: __dirname + '/assets/',
  4. publicPath: "/assets/"
  5. }

具体含义:

  output:模块的输出文件,其中有如下参数:
  filename: 打包后的文件名
  path: 打包文件存放的绝对路径。
  publicPath: 网站运行时的访问路径。

6.react组件的分离,进行独立打包

 我们使用webpack一般配合react的开发。

分离出这两个组件可以减少核心代码的臃肿。

  1. entry : {
  2. app:'./app.js',
  3. vendors:['react']
  4. }

 这个是在entry中进行配置。

  1. plugins: [
  2. new webpack.optimize.CommonsChunkPlugin('vendors', 'vendors.js')
  3. ]

CommonsChunkPlugin 是webpack自带的不需要额外安装。

效果:

7.react,react-dom注入全局,免得每个文件都用引入

  1. plugins:[
  2. new webpack.ProvidePlugin({
  3. "React": "react",
  4. "ReactDOM": "react-dom"
  5. })
  6. ]

这里的 ProvidePlugin插件是webpack自带的不需要独立安装。

8.使用url-loader将图片转成64位,减少http的请求。

安装:npm install url-loader --save-dev

css中:

  1. .bgCPng{
  2. background:url(../img/car.png) repeat fixed center;
  3. }

jsx中:

  1. import '../resources/css/clearDefault.css';
  2.  
  3. ...
  4.  
  5. <div style={{ width:,height: }} className='bgCPng'></div>

webpack.config.js中:

  1. module:{
  2. loaders:[{
  3. test:/\.(png|jpg)$/,
  4. loader:'url?limit='
  5. }]
  6. }

效果:

9.加载less/sass

安装:npm install less-loader 或者 npm install sass-loader

  1. // LESS
  2. {
  3. test: /\.less$/,
  4. loader: 'style!css!less'
  5. },
  6. // SASS
  7. {
  8. test: /\.scss$/,
  9. loader: 'style!css!sass'
  10. }

 10.hash

[name] - 反回入口名称

[hash] - 反回创建的hash

[chunkhash] - 反回一段特定的hash

使用:

webpack的使用的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. webpack之傻瓜式教程

    接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难找到一个能让新人快 ...

  3. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  4. Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)

    Webstorm+Webpack+echarts   ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...

  5. 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert

    使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...

  6. webpack入门教程之Hello webpack(一)

    webpack入门教程系列为官网Tutorials的个人译文,旨在给予想要学习webpack的小伙伴一个另外的途径.如有不当之处,请大家指出. 看完入门教程系列后,你将会学习到如下内容: 1.如何安装 ...

  7. Webpack 配置摘要

    open-browser-webpack-plugin 自动打开浏览器 html-webpack-plugin 通过 JS 生成 HTML webpack.optimize.UglifyJsPlugi ...

  8. Vue + Webpack + Vue-loader 系列教程(2)相关配置篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...

  9. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

随机推荐

  1. TechEmpower 13轮测试中的ASP.NET Core性能测试

    应用性能直接影响到托管服务的成本,因此公司在开发应用时需要格外注意应用所使用的Web框架,初创公司尤其如此.此外,糟糕的应用性能也会影响到用户体验,甚至会因此受到相关搜索引擎的降级处罚.在选择框架时, ...

  2. SSH实战 · 唯唯乐购项目(上)

    前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...

  3. PowerShell实现批量重命名文件

    [string]$FileName="E:\test11" #-------------------------------------- Clear-Host foreach($ ...

  4. Android学习路线总结,绝对干货

    title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ...

  5. 基于ASP.NET/C#开发国外支付平台(Paypal)学习心得。

        最近一直在研究Paypal的支付平台,因为本人之前没有接触过接口这一块,新来一家公司比较不清楚流程就要求开发两个支付平台一个是支付宝(这边就不再这篇文章里面赘述了),但还是花了2-3天的时间通 ...

  6. 用javascript 写个函数返回一个页面里共使用了多少种HTML 标签

    今天我无意间看到一个面试题: 如何用javascript 写个函数返回一个页面里共使用了多少种HTML 标签? 不知你看到 是否蒙B了,如果是我 面试,肯定脑子嗡嗡的响.... 网上搜了搜也没有找到答 ...

  7. .Net Core上也可以使用的二维码组件

    我Fork了QRCoder,并且兼容了.Net Core,图形库用的是ZKWeb.System.Drawing Github: https://github.com/zkweb-framework/Q ...

  8. 介绍一款原创的四则运算算式生成器:CalculateIt2

    家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...

  9. 真正的汉化-PowerDesigner 16.5 汉化

    一.背景 经常使用PowerDesigner,之前使用15版本,后来16出来后,就一直在使用16,不过一直是英文.一些同事对使用英文版总显示有些吃力. 遍寻百度.必应,都没有找到真正的针对版本16的汉 ...

  10. 用Swagger生成接口文档

    Swagger简介 在系统设计的时候,各个应用之间往往是通过接口进行交互的.因此接口的定义在整个团队中就变得尤为重要.我们可以把接口的规范用接口描述语言进行描述,然后Swagger可以根据我们定义的接 ...