webpack使用指南

新建一个项目

新建项目react-demo文件夹

首先安装webpack

1.全局安装webpack
npm install webpack --global
2.进入项目中,利用初始化npm初始化新建一个package.json
npm init
3.在项目中安装webpack,顺便把它加进开发依赖
npm install webpack --save-d
4.在根目录下创建一个js文件,名为entry.js
在里面随便输入一些测试语句,例如:
ducument.getElementById('app').textContent = "hello~";
5.在根目录下创建一个index.html
结构如下:

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>react-demo</title>
</head>
<body>
  <div id="app"></div>
  <script src="bundle.js"></script>
</body>
</html>```
6.回到项目目录,执行
`webpack entry.js bundle.js`
entry.js为打包的入口文件,bundle.js为打包生成后的文件
值得注意的是,webpack打包的时候,会自动处理入口文件的依赖,所以只要在入口文件中把相应模块require进去之后,webpack会自动将需要的模块打包到bundle.js中
7.loader,在需要处理要css,html或者json的时候,就需要去用loader这种转化器去处理
例如:在根目录下面建一个名为style.css的css文件,里面写上一些测试样式:
body {
  background-color: red;
}
先在项目里安装需要的loader:
`npm install css-loader style-loader --save-d`
安装好loader之后,在index.html中引入这些loader,语法如下:
require('style!css!./style.css')
规则为:require('loader!loader!./style.css')
重新打包,刷新页面,发现css生效
`webpack entry.js bundle.js`
8.webpack的配置文件
根据官方文档: http://webpackdoc.com/configuration.html
新建一个名字为webpack.config.js的配置文件,内容如下:
````var webpack = require('webpack')
module.exports = {
  entry: './entry.js',
  output: {
    path: __dirname,
    filename: 'bundle.js'
  },
  module: {
    loaders: [
      {test: /\.css$/, loader: 'style!css'}
    ]
  }
}````
配置文件可以用来配置入口文件的位置和名称,以及webpack打包后生成的文件的位置和名称,还有一些loader的配置,这样做的好处是不用把所有的loader都在入口文件中require

有了webpack.config.js配置文件之后,入口文件中就不再需要指定loader了,把
`require('style!css!./style.css')`改为
`require('./style.css')`
执行webpack命令,发现样式依然生效
`webpack`
9.使用source-map,在控制台上的Sources的webpack://目录下面可以看到打包之前的css和js
直接在控制台上运行`webpack --devtool source-map`或者将配置加入到webpack.config.js中

10.结合babel一起使用
和babel一起使用,需要安装babel-loader和babel
如果需要处理es2015的代码,还需要安装babel-preset-es2015
`npm install babel-loader babel-core babel-preset-es2015 --save-d`
安装完后再根目录下新建一个.babelrc
````{
  "presets": ["es2015"]
}````
写入预设配置

在需要用到babel这个loader的时候,需要在webpack.config.js里增加loader
`{test: /\.js$/, loader: 'babel'}`

require('./style.css');旧的写法
import './style.css'; es2015的写法


11.webpack-dev-server

webpack-dev-server 开发服务是一个更好的选择。它将在 localhost:8080 启动一个 express 静态资源 web 服务器,并且会以监听模式自动运行 webpack,可以实现实时刷新页面

npm install webpack-dev-server -g
npm install webpack-dev-server --save-d
安装完之后执行
`webpack-dev-server --inline --hot`

在http://localhost:8080/这个地址,如果有改动的话,可以看到页面会实时刷新
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,253评论 7 35
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,728评论 7 110
  • 学习流程 参考文档:入门Webpack,看这篇就够了Webpack for React 一. 简单使用webpac...
    Jason_Zeng阅读 3,196评论 2 16
  • webpack 介绍 webpack 是什么 为什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert阅读 6,535评论 2 71
  • 【每日一悟】喻青 第281天,2017.7.4,始于2016.9.21。 【践行】: 大宝今天就没上学了,基本开启...
    喻青阅读 220评论 1 3