webpack学习笔记

1.安装webpack

npm install webpack -g

2.进入项目目录,初始化

npm init

3.将webpack安装到项目依赖中

npm install webpack --save-dev

4.创建一个webpack.config.js配置文件

module.exports = {

  // 需要编译的文件
  entry:{
    index1:'./src/index1.js',
    index2:'./src/index2.js'
  },

  // 编译配置项
  output:{

    // 输出到哪个目录
    path:'./dire',

    // 文件名 [name]会根据entry的键名来取值
    filename:'[name].js'
  }
};

目录结构:

5.cmd中输入:webpack

结果会生成一个dire目录。

OK,完成。

我们看看里面生成的代码。

乱七八糟的,如果想去掉这些可以这样。

var webpack = require('webpack');

module.exports = {
  entry:{
    index1:'./src/index1.js',
    index2:'./src/index2.js'
  },
  plugins:[
    new webpack.optimize.UglifyJsPlugin()
  ],
  output:{
    path:'./dire',
    filename:'[name].js'
  }
};

好像没啥用对吧,我们可以这样。

 

webpack小试身手,模块化开发。

 

目录结构

module.exports = {
  entry:'./main.js',
  plugins:[
    new webpack.optimize.UglifyJsPlugin()
  ],
  output:{
    path:'./dire',
    filename:'main.js'
  }
};

这里将main.js做为主模块,我们可以在main.js里面将需要用到的js文件通过require引入进来,达到模块化的需求,这个require的用法和nodejs一样。

当然你可以划分成多个模块,你只需要更改一下这个。

module.exports = {
  entry:{

    xx:'./xx/xx.js',

    xx:'./xx/xx.js'

    .......

  },
  plugins:[
    new webpack.optimize.UglifyJsPlugin()
  ],
  output:{
    path:'./dire',
    filename:'[name].js'
  }
};

这样你就可以根据不同模块编写JS代码了。真不错。

 

但这都只是冰山一角,来看看webpack更强大的功能。

在main.js中导入css文件。

 

main:require('./src/index.css');

但是发现报错了,我们需要配置一下webpack.config.js

 

编译css

var webpack = require('webpack');

module.exports = {
  entry:'./main.js',
  plugins:[
    new webpack.optimize.UglifyJsPlugin({
      compress:{

        //去除控制台错误
        warnings:false
      }
    })
  ],
  output:{
    path:'./dire',
    filename:'main.js'
  },
  module:{
    loaders:[
      {test:/\.css$/,loader:'style-loader!css-loader'}
    ]
  }
};

还得安装一下

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

 

在main.js里面使用less文件。

require('./src/index.css');

require('./src/less.less');

需要进行如下配置:

loaders:[
  { test: /\.less$/, loader: 'style-loader!css-loader!less-loader' },
  { test: /\.css$/, loader: 'style-loader!css-loader' }
]

还得安装style-loader,css-loader,less-loader

 

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

 

我安装完,webpack编译less文件的时候发现报错了。原来是还得安装一下less.

npm install less --save-dev

来看一下页面的效果:

我们用require过来的css文件变成style样式。

 

除了这个,我们还可以用来处理图片,将图片转成base64

 

main.js

require('./src/index.css');

require('./src/less.less');

var img = document.createElement('img');
img.src = require('./src/baidu.png');

var box = document.getElementById('box');
box.appendChild(img);

webpack.config.js

  

loaders:[
  { test: /\.less$/, loader: 'style-loader!css-loader!less-loader' },
  { test: /\.css$/, loader: 'style-loader!css-loader' },
  { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192' }
]

  

limit:表示图片小于多少就转成base64格式的图片。

使用前我们还得安装一下url-loader

npm install url-loader --save-dev

webpack

看看效果

生成base64位了噢。

 

在css,less中都是可以使用的噢。

 

less代码

ul{
  li{
    width:200px;
    height:200px;
    color:red;
    font-size:18px;
    background:url(./baidu.png) no-repeat;
  }
}

webpack实在太棒了。

 

如果你想编译其他格式的文件使用方法都差不多,这里就不试了。

 

通过webpack --watch监听文件变化自动打包。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值