[webpack] 基本配置 (一)

文章目录

      • 1.基本介绍
      • 2.功能介绍
      • 3.简单使用
        • [3.1 文件目录和内容](#3.1 文件目录和内容)
        • [3.2 下载依赖](#3.2 下载依赖)
        • [3.3 启动webpack](#3.3 启动webpack)
      • 4.基本配置
        • [4.1 五大核心概念](#4.1 五大核心概念)
        • [4.2 基本使用](#4.2 基本使用)

1.基本介绍

  1. Webpack 是一个静态资源打包工具。它会以一个或多个文件作为打包的入口, 将我们整个项目所有文件编译组合成一个或多个文件输出出去。

  2. 输出的文件就是编译好的文件, Webpack 输出的文件叫做 bundle

2.功能介绍

  1. 开发模式: 仅能编译 JS 中的 ES Module 语法。
  2. 生产模式: 能编译 JS 中的 ES Module 语法, - 还能压缩 JS 代码。

3.简单使用

3.1 文件目录和内容

1.count.js

js 复制代码
export default function count(x, y){
    return x + y;
}

2.sum.js

js 复制代码
export default function sum(...args) {
  return args.reduce((p, c) => p + c, 0);
}

3.main.js

js 复制代码
import count from "./js/count";
import sum from "./js/sum";

console.log(count(2, 1));
console.log(sum(1, 2, 3, 4));

3.2 下载依赖

1.初始化package.json

bash 复制代码
npm init -y

2.下载依赖

bash 复制代码
npm i webpack webpack-cli -D

3.3 启动webpack

1.开发模式

bash 复制代码
npx webpack ./src/main.js --mode=development

2.生产模式

bash 复制代码
npx webpack ./src/main.js --mode=production
  • npx webpack: 是用来运行本地安装 Webpack 包的。

  • ./src/main.js: 指定 Webpackmain.js 文件开始打包, 不但会打包 main.js, 还会将其依赖也一起打包进来。

  • --mode=xxx: 指定环境。

默认 Webpack 会将文件打包输出到 dist 目录。

index.html引用dist下的man.js

4.基本配置

4.1 五大核心概念

  1. entry(入口): 指示 Webpack 从哪个文件开始打包。
  2. output(输出): 指示 Webpack 打包完的文件输出到哪里去, 如何命名等。
  3. loader(加载器): webpack 本身只能处理 js、json 等资源, 其他资源需要借助 loader。
  4. plugins(插件): 扩展 Webpack 的功能。
  5. mode(模式): 开发模式(development), 生产模式(production)。

webpack.config.js:

js 复制代码
module.exports = {
  // 入口
  entry: "",
  // 输出
  output: {},
  // 加载器
  module: {
    rules: [],
  },
  // 插件
  plugins: [],
  // 模式
  mode: "",
};

Webpack 是基于 Node.js 运行的, 所以执行commonJS规范。

4.2 基本使用

js 复制代码
// Node.js的核心模块,专门用来处理文件路径
const path = require("path");

module.exports = {
  // 入口
  // 相对路径和绝对路径都行
  entry: "./src/main.js",
  // 输出
  output: {
    // path: 文件输出目录,必须是绝对路径
    // path.resolve()方法返回一个绝对路径
    // __dirname 当前文件的文件夹绝对路径
    path: path.resolve(__dirname, "dist"),
    // filename: 输出文件名
    filename: "main.js",
  },
  // 加载器
  module: {
    rules: [],
  },
  // 插件
  plugins: [],
  // 模式
  mode: "development", // 开发模式
};
bash 复制代码
npx webpack
相关推荐
耶啵奶膘1 小时前
uniapp-是否删除
linux·前端·uni-app
王哈哈^_^2 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
前端·人工智能·深度学习·yolo·目标检测·计算机视觉·pyqt
cs_dn_Jie3 小时前
钉钉 H5 微应用 手机端调试
前端·javascript·vue.js·vue·钉钉
开心工作室_kaic3 小时前
ssm068海鲜自助餐厅系统+vue(论文+源码)_kaic
前端·javascript·vue.js
有梦想的刺儿4 小时前
webWorker基本用法
前端·javascript·vue.js
cy玩具4 小时前
点击评论详情,跳到评论页面,携带对象参数写法:
前端
qq_390161775 小时前
防抖函数--应用场景及示例
前端·javascript
John.liu_Test5 小时前
js下载excel示例demo
前端·javascript·excel
Yaml45 小时前
智能化健身房管理:Spring Boot与Vue的创新解决方案
前端·spring boot·后端·mysql·vue·健身房管理
PleaSure乐事5 小时前
【React.js】AntDesignPro左侧菜单栏栏目名称不显示的解决方案
前端·javascript·react.js·前端框架·webstorm·antdesignpro