首页 > Web开发 > 详细

webpack学习笔记

时间:2019-04-28 11:34:20      阅读:102      评论:0      收藏:0      [点我收藏+]

webpack中文网站 https://www.webpackjs.com/concepts/

1、介绍

   Grunt和Gulp的工作方式是:在一个配置文件中,指明对某些文件进行类似编译,组合,压缩等任务的具体步骤,工具之后可以自动替你完成这些任务。

  Webpack的工作方式是:把你的项目当做一个整体,通过一个给定的主文件(如:index.js),Webpack将从这个文件开始找到你的项目的所有依赖文件,使用loaders处理它们,最后打包为一个(或多个)浏览器可识别的JavaScript文件。

不同:Webpack的处理速度更快更直接,能打包更多不同类型的文件。

1、准备工作

//全局安装
npm install -g webpack
//安装到你的项目目录
npm install --save-dev webpack
npm install --save-dev webpack-cli
//初始化package.json文件
npm init

2、webpack的强大功能

2.1 生成Source Maps(使调试更容易

通过简单的配置,webpack就可以在打包时为我们生成的source maps,这为我们提供了一种对应编译文件和源文件的方法

2.2 使用webpack构建本地服务器

想不想让你的浏览器监听你的代码的修改,并自动刷新显示修改后的结果,其实Webpack提供一个可选的本地开发服务器,这个本地服务器基于node.js构建,可以实现你想要的这些功能,不过它是一个单独的组件,在webpack中进行配置之前需要单独安装它作为项目依赖

npm install --save-dev webpack-dev-server
//webpack.config.js
module.exports = {
    devtool: 'eval-source-map',//小型的打包速度比较快的生成source map
    entry: __dirname + "/app/main.js",//已多次提及的唯一入口文件
    output: {
        path: __dirname + "/public",//打包后的文件存放的地方
        filename: "bundle.js"//打包后输出文件的文件名
    },
//有关配置
    devServer: {
      contentBase: "./public",//本地服务器所加载的页面所在的目录
      historyApiFallback: true,//不跳转
      inline: true//实时刷新
    } 
}

3、Loaders

Loaders是webpack提供的最激动人心的功能之一了。通过使用不同的loader,webpack有能力调用外部的脚本或工具,实现对不同格式的文件的处理,比如说分析转换scss为css,或者把下一代的JS文件(ES6,ES7)转换为现代浏览器兼容的JS文件,对React的开发而言,合适的Loaders可以把React的中用到的JSX文件转换为JS文件。

test:一个用以匹配loaders所处理文件的拓展名的正则表达式(必须)
loader:loader的名称(必须)
include/exclude:手动添加必须处理的文件(文件夹)或屏蔽不需要处理的文件(文件夹)(可选);
query:为loaders提供额外的设置选项(可选)

3.1 Babel

Babel其实是一个编译JavaScript的平台,它可以编译代码帮你达到以下目的:

  1. 让你能使用最新的JavaScript代码(ES6,ES7...),而不用管新标准是否被当前使用的浏览器完全支持
  2. 让你能使用基于JavaScript进行了拓展的语言,比如React的JSX;

webpack学习笔记

原文:https://www.cnblogs.com/yangwang12345/p/9176437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!