webpack的配置及使用

webpack webpack:是近的一加载器兼打包工具,它能把各种资源,例如J (含J X)、 coffee、样式(含less/sass)、图片等都作为模块来使用和处理。
一、全局安装webpack:
```
npm install webpack -g
```
二、编写webpack.config.js配置文件
```
// CommonJS  
    //导出模块
//下方的内容不需要改变
module.exports = {
entry: __dirname + 'app/index.js', //入口文件 
output: { 
//输出目录
path: __dirname + 'build', // 输出路径
filename: 'bundle.js', // 输出文件名
 },
//引入css文件
 module:{
        loaders:[{
            test:/\.css$/,
            loader:"style-loader!css-loader"
        }]
    },
watch:true
};
```
三、写我们的helloworld组件:module.exports=function(){}
```
//自己随便写的一些内容,注意是js文件
  console.log("我是module.js 文件");
var a = "我是aa变量";
var fn = function () {
    console.log("我是fn函数");
}
module.exports = {
    a,
    fn
}
```
四、index.js主入口引入:
```
//在app文件夹下,主要用来引入其他我们自己编译的js文件或者css文件
var component = require('./component.js'); document.body.appendChild(component());
```
五、新建index.html引入bundle.js,运行index.html
```
配置快速启动webpack:package.json里的scripts:{“start”:”webpack”}
```
六、构建本地服务器:
```
1.安装:npm install --save-dev webpack-dev-server
2.配置webpack.config.js文件
devServer: {
  contentBase: "./build",//本地服务器所加载的页面所在的目录
  historyApiFallback: true,//不跳转
  inline: true//实时刷新


3.在package.json中的scripts对象中添加如下命令,用以开启本地服务器
"scripts": {
   // "test": "echo \"Error: no test specified\" && exit 1",
    "start": "webpack",
   //"server": "webpack-dev-server --open"
               "dev": "webpack-dev-server --open"
  },
```
七、loader,cssloader(Css样式加载:)


1、要安装依赖
```
npm install style-loader css-loader --save 
```
2、配置文件(webpack.config.js)中加入配置:module(内部,与之前加入的js同级):
```
{
loaders:[{
test:/\.css$/,
loader:"style-loader!css-loader"
}]
}
```
完成上述步骤,我们只需要在app文件夹下写css文件和js文件就好了。
自己写的结构目录:![屏幕快照 2018-01-20 上午10.52.11.png](http://upload-images.jianshu.io/upload_images/7426646-95546eadedf8a03e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


###依次给大家展示配置完成之后的代码:
1、app文件夹下的index.css(自己写的css样式文件)
```
h1{
    color: red;
}
```
2、app文件夹下的index.js(引入各种文件的主入口)
```
//console.log("我是index.js 文件");
//用require引入各种css和js文件
var res = require("./module.js");
require("./index.css");
//console.log(res.a);
//调用module.js文件里的函数
res.fn();
```
3、app文件夹下的module.js(自己写的js文件)
```
console.log("我是module.js 文件");
var a = "我是aa变量";
var fn = function () {
    console.log("我是fn函数");
}
//固定写法,必须用module.exports={}
module.exports = {
    a:a,
    fn:fn
}
```
4、build文件夹下的bundle.js
```
这个文件是我们安装webpack自动生成的js文件,我们只需要把它放在build文件夹下即可,里面的代码不需要改变,就不给大家展示代码了。
```
5、build文件夹下的index.html
```
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
 //这里就是之前说的引入bundle.js文件,而不是直接link我们的CSS文件或者自定义的js文件
    <script src="bundle.js"></script>
</head>
<body>
    <h1>哈哈哈哈</h1>
</body>
</html>
```
6、直接在webpack下与app文件夹同级的package.json文件
 ```
{
  "devDependencies": {
    "webpack-dev-server": "^2.11.0"
  },
  "dependencies": {
    "css-loader": "^0.28.8",
    "style-loader": "^0.19.1"
  },
//这里的scripts需要我们手动配置,照着下面的一样复制上就ok。
  "scripts": {
    "start": "webpack",
    "dev": "webpack-dev-server --open"
  }
}
```
7、直接在webpack下与app文件夹同级的webpack.config.js文件
```
module.exports = {
    //当前执行文件的路径
    entry:__dirname+"/app/index.js",
    output:{
        path:__dirname+"/build",
        filename:"bundle.js"
    },
    watch:true,
    module:{
        loaders:[{
            test:/\.css$/,
            loader:"style-loader!css-loader"
        }]
    },
    devServer: {
        contentBase: "./build",//本地服务器所加载的页面所在的目录
        historyApiFallback: true,//不跳转
        inline: true//实时刷新
    }
}
```
到这里,一个完整的webpack就配置完成了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值