webpack基本使用教程

安装

本地安装
npm install --save-dev webpack
npm install --save-dev webpack-cli   //4.x以上版本,用于cli命令
全局安装
npm install -g webpack
npm install -g webpack-cli

初始化项目

npm init -y  //自动生成一个package.json文件
npm install webpack webpack-cli --save-dev
基本目录结构

image

webpack配置表

image

按项目结构编写代码
//package.json

  {
    "name": "webpack-demo",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
    },
    "keywords": [],
    "author": "",
    "license": "ISC",
    "devDependencies": {
      "webpack": "^4.0.1",
      "webpack-cli": "^2.0.9",
      "lodash": "^4.17.5"
    }
  }

//webpack.config.js

const path = require('path');

    module.exports = {
      entry: './src/index.js',
      output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
      }
    };
    
//index.html

<!doctype html>
<html>
  <head>
    <title>demo</title>
  </head>
  <body>
    <script src="./src/index.js"></script>
  </body>
</html>

//index.js

function component() {

    var element = document.createElement('div');
    var node = document.createTextNode("hello,webpack!");
    element.appendChild(node);
    return element;
}
document.body.appendChild(component());

下载安装包

//production模式
npm install --save [+安装包名称]

//development模式
npm install --save-dev

运行项目

以项目脚本为入口起点,输出main.js
npx webpack

image

添加npm脚本到package.json设置一个快捷方式运行本地的webpack
//package.json

  {
    "name": "webpack-demo",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
+     "build": "webpack"  //新增
    },
    "keywords": [],
    "author": "",
    "license": "ISC",
    "devDependencies": {
      "webpack": "^4.0.1",
      "webpack-cli": "^2.0.9",
      "lodash": "^4.17.5"
    }
  }


loader

加载css文件
react默认不支持css文件,所以需要进行转码.
// webpack.config.js

   module: {
     rules: [
       {
         test: /\.css$/,
         use: [
           'style-loader',
           'css-loader'
         ]
       }
     ]
   }
加载图片
    module: {
      rules: [
       {
         test: /\.(png|svg|jpg|gif)$/,
         use: [
           'file-loader'
         ]
       }
    ]
   }    
加载字体
    module: {
      rules: [

       {
         test: /\.(woff|woff2|eot|ttf|otf)$/,
         use: [
           'file-loader'
         ]
       }
      ]
    }
加载数据
    module: {
      rules: [
       {
         test: /\.(csv|tsv)$/,
         use: [
           'csv-loader'
         ]
       },
       {
         test: /\.xml$/,
         use: [
           'xml-loader'
         ]
       }
      ]
    }
全局资源
通过这些方式加载资源,更加直观和可移植

image


插件的使用

比如使用一个HtmlWebpackPlugin
安装
npm install --save-dev html-webpack-plugin
使用
const HtmlWebpackPlugin = require('html-webpack-plugin');
  module.exports = {
    entry: './src/index.js',
    
+   plugins: [
+     new HtmlWebpackPlugin({
+       title: 'Output Management'
+     })
+   ],

    output: {
      filename: '[name].bundle.js',
      path: path.resolve(__dirname, 'dist')
    }
  };

source map

准确追踪错误和警告
// webpack.config.js

    const path = require('path');

    module.exports = {
      entry: './src/index.js',
+     devtool: 'source-map',      
      output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
      }
    };

开发工具

帮助你在代码发生变化后自动编译代码
有webpack's Watch Mode,webpack-dev-server,webpack-dev-middleware 三种.开发常用webpack-dev-server

安装

npm install --save-dev webpack-dev-server

使用

//webpack.config.js

  const path = require('path');

  module.exports = {
    entry: './src/index.js',
+   devServer: {
+     contentBase: './dist'
+   },
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist')
    }
  };

转载于:https://www.cnblogs.com/Lazy-Cat/p/10073453.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于Webpack 5的教程,我可以为您提供一些基本信息和指导。Webpack是一个模块打包工具,它可以将各种资源(例如JavaScript、CSS、图片等)打包成一个或多个文件,以优化网页加载速度。 以下是Webpack 5的一些重要特性和教程资源: 1. 模块联邦(Module Federation):Webpack 5引入了模块联邦的功能,允许多个独立的Webpack构建之间共享模块。这使得在大型项目中更容易实现微服务架构。您可以查阅Webpack官方文档中关于模块联邦的介绍和示例。 2. 改进的性能:Webpack 5在构建速度和输出文件大小方面进行了一些优化。它引入了持久缓存(persistent caching)功能,提高了构建速度。另外,Webpack 5还通过使用更先进的算法(如Tree Shaking、Scope Hoisting等)来减小输出文件的大小。 3. 新的插件系统:Webpack 5引入了一种新的插件系统,使得编写和使用插件更加简单和灵活。您可以查阅Webpack官方文档中关于插件系统的说明和示例。 对于Webpack 5的更详细教程和示例代码,您可以参考以下资源: - Webpack官方文档:Webpack官方文档提供了全面的关于Webpack 5的指南和示例。您可以访问官方文档并查找与您需求相关的章节和示例代码。 - CSDN:在CSDN上有很多Webpack 5的教程和示例代码,您可以通过搜索“webpack5教程”来查找相关资源。 - GitHub:许多开发者在GitHub上分享了关于Webpack 5的教程和示例项目。您可以在GitHub上搜索“webpack5 tutorial”来查找相关资源。 希望这些信息能够帮助到您!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值