webpack介绍

1.为什么我们需要打包?

  • 模块化
  • 优化加载速度
  • 使用新的开发模式

2.webpack特点

  • 同时支持CommonJs和AMD
  • 一切都可以打包
  • 分模块打包

3.正式使用webpack前的准备

  • 全局安装webpack:npm install webpack -g
  • 创建工程目录:mkdir webpack-test
  • 进入工程目录:cd webpack-test
  • 初始化工程信息: npm init 或  npm init -y
  • 安装依赖工具:npm install
  • 将webpack打包工具依赖进来:npm install --save-dev webpack
  • 在工程根目录下创建 index.html
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Webpack-test</title>
</head>
<body>
    <script src="bundle.js"></script>
</body>
</html>

 4.打包js文件

  • 在工程根目录下创建src文件夹,在src文件夹中创建 index.js
document.write('hello webpack!');
  • 在工程根目录下创建webpack.config.js
const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
  }
};
  • 在工程根目录下创建dist文件夹,将index.html文件拷贝到dist文件夹下
  • 在工程目录下执行webpack --config webpack.config.js
  • 运行dist文件夹下面的index.html文件可以看到运行结果
  • PS:设置npm脚本调整package.json , 运行命令npm run build
{
  ...
  "scripts": {
    "build": "webpack"
  },
  ...
}

 5.打包css文件

  • 将css-loader和style-loader依赖进来:npm install --save-dev css-loader style-loader
  • 在src文件加下创建style.css , 并且编写相关样式
  • 在webpack.config.js文件中做如下配置 :
const path = require('path');

module.exports = {
    //入口
    entry: './src/index.js',
    //输出
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    //模块处理
    module: {
        loaders: [{
            //使用正则表达式检测文件后缀名
            test: /.css$/,
            //使用两个loader处理css文件,先执行css-loader(对css文件读取,处理url),再执行style-loader(读取css文件应用到页面上,即显示样式)
            loaders: ['style-loader', 'css-loader']
        }]
    }
};
  •  在src文件夹下的index.js添加代码:
require('./style.css');
  • 控制台运行命令:npm run build 
  • 刷新浏览器页面

6.加载图片:npm install --save-dev file-loader

7.加载字体

8.加载数据:npm install --save-dev csv-loader xml-loader

原文地址:https://www.cnblogs.com/nlj-blog/p/7889215.html