webpack入门学习笔记

webpack是一个前端模块构建工具,它能够将原本一些有依赖关系的文件(源代码)构建成静态资源。

1.webpack安装

$ npm install webpack -g    //进行全局安装
$ npm install webpack --save-dev  //进行项目本地安装
$ npm install webpack-dev-server --save-dev  //安装webpack-dev-server工具

2.基本工作原理

webpack的基本工作原理是,首先要选定一个入口文件,这个入口文件可能要依赖其他的文件模块(如require了一个其他的模块),而那些被依赖的模块可能又要依赖其他模块,这样一层一层的递推。webpack的作用就是从入口文件开始,将存在依赖关系的各个文件构建成一个静态资源。

在一般的项目开发过程中都有构建过程。一个项目可能的基本项目结构为:首先在src目录下存放开发者编写的源代码,node-modules中存放安装的各个模块,而build目录下存放的就是构建好的资源。webpack的工作过程就是将src中的源代码构建成build下的静态资源。

3.基本使用

比如src目录下存在一个app.js入口文件,而这个文件有依赖于test.js文件,要想将这些源代码构建成一个静态资源app.budle.js文件,只需执行下面的命令:

webpack ./app.js app.budle.js

webpack的第一个参数是入口文件的路径,第二个参数是要构建的文件名,默认情况下构建后的文件在当前目录下。


4.使用webpack.config.js

为了不必每次构建都在命令行中输入大量的代码,可以使用webpack.config.js配置文件。这样每次要进行构建时,只需要执行命令webpackwebpack便会自动对当前目录下的webpack.config.js文件进行解析,从而自动完成构建。

一个基本的webpack.config.js的代码及注释如下:

module.exports = {    
  entry: './src/app.js',   //entry字段指定入口文件
  output: {  //output字段指定构建后的文件
     path: './bin',   //path字段指定构建后文件的位置
     filename: 'app.bundle.js'   //filename字段指定构建后的文件名
  }
};

使用上面的配置文件和在命令行构建效果相同,但是更加方便。


5.使用loader

webpack只能解析JavaScript代码。但是很多时候项目源代码中不只有JavaScript代码,还可能有css样式代码、coffeScript等其他代码,这个时候就需要使用loader加载其他语言的转化模块,将其他代码转换成webpack能够使用的JavaScript代码。

一般的loader命名都是语言名xxx-loader。比如能够将ES6转换成ES5的模块babel,对应的loader名就叫babel-loader

比如我们要构建的文件中存在.css后缀名的文件,这些文件使用css代码编写的。构建这种项目的时候webpack.config,js文件内容如下:

module.exports = {
    entry: "./entry.js",
    output: {
        path: __dirname,
        filename: "bundle.js"
    },
    module: {
        loaders: [
            { test: /\.css$/, loader: "style!css" }   //匹配.css文件,使用对应的loaders
        ]
    }
};

loaders字段中指定转换,可以指定多个。这里指定了匹配正则表达式/\.css$/的文件及后缀名为.css的文件,使用css-loaderstyle-loader进行转换。当然使用之前需要先安装这两个loadernpm install css-loader style-loader


6.webpack-dev-server

webpack-dev-server是一个小型Express服务器,使用webpack-dev-middlerware构建。开发中可以用它来启动一个服务器,更新代码的时候界面会动态的进行重新渲染。

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值