webpack

webpack模块管理器

概念:webpack是模块加载器兼打包工具,它能把各种资源,例如JS(含JSX)、coffee、样式(含less/sass)、图片等都作为模块来使 用和处理。

作用和优势:

  1. webpack 是以 commonJS 的形式来书写脚本,但对 AMD/CMD 的支持也很 全面,方便旧项目进行代码迁移。
  2. 能被模块化的不仅仅是 JS 了。
  3. 开发便捷,能替代部分 grunt/gulp 的工作,比如打包、压缩混淆、图片转 base64等。
  4. 扩展性强,插件机制完善,特别是支持 React 热插拔(见 react-hot-loader ) 的功能让人眼前一亮。
  5. Webpack可以将多种静态资源 js、css、less 转换成一个静态文件,减少了 页面的请求。

    这里写图片描述

webpack的安装

全局安装

npm install webpack -g

查看安装版本:

webpack -v

查看安装情况:

webpack -help

当前项目安装:

npm init

一路回车,即在当前项目创建了package.json文件。

将webpack 安装在当前项目的开发依赖:

npm install webpack --save-dev

使用npm安装style-loader和css-loader

npm install css-loader style-loader --save-dev

使用npm安装babel插件

npm install babel-core babel-loader babel-preset-es2015 babel-preset-stage-0 --save-dev

项目结构如下:这里写图片描述
module1.js代码如下:

function test1(){
    return 1;
}
module.exports = test1;

module2.js代码如下:

function test2(){
    return 1;
}
module.exports = test2;

app.css代码如下:

body{
    background-color: red;
}
.box {
    background:url("../assets/2.jpg") no-repeat;
}

main.js代码如下:

var t1 = require("./module1");
var t2 = require("./module2");
require("./app.css");
console.log(t1() + t2());

webpack.config.js代码如下:

var path = require("path");
module.exports ={
    //用来配置需要打包的入口文件
    entry:{
        main:path.resolve(__dirname,"main")
    },
    //配置打包后的文件名字和文件夹
    output:{
        filename:"[name].bundle.js",
        path:path.resolve(__dirname,"build")
    },
    module:{
    //加载器配置
        rules:[
            {test:/\.css$/,loader:"style-loader!css-loader"},
            {test:/\.(jpg|png|gif|jpeg)$/,loader:"url-loader"},
            {test:/\.js$/,loader:"babel-loader",query:{presets:["es2015"]}}
        ]
    },
}

package.json模板,直接npm install

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "a.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {},
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-loader": "^7.1.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-0": "^6.24.1",
    "css-loader": "^0.28.4",
    "file-loader": "^0.11.2",
    "style-loader": "^0.18.2",
    "url-loader": "^0.5.9",
    "webpack": "^3.4.1"
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值