我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript自定义Webpack配置实现流程介绍

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript自定义Webpack配置实现流程介绍

1 初始化并创建要被打包的文件

首先创建文件夹webpack-demo(随便起一个),用来演示打包过程。在该文件夹下终端运行命令,对项目进行初始化操作,对包进行管理:

npm init # 输入命令后一直敲回车即可
npm init -y # -y是yes的意思,在初始化时省去敲回车的步骤

命令成功运行之后,该文件夹下出现了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"
}

然后在本地安装webpackwebpack-cli,执行以下命令:

npm install webpack webpack-cli --save-dev

该命令执行完成之后,在当前目录下出现了node_modules文件夹和package-lock.json文件,目录结构如下:

webpack-demo文件夹下创建文件夹class="lazy" data-src,在class="lazy" data-src下创建两个文件,index.jshello.js,目录结构如下:

hello.js文件中编写如下代码:

function hello() {
    console.log("hello");
}
export default hello;

index.js文件中编写如下代码:

import hello from "./hello";
hello();

到这一步我们的准备工作就完成了,接下来在该示例上操作。

2 命令行配置

webpack-cli给我们提供了丰富的终端命令行指令,可以通过以下命令查看:

npx webpack --help

我们看到有很多命令可以帮助我们进行配置,接下来我们演示几个。

# --entry 指定了入口文件为index.js
# --mode 指定模式为production生产环境
npx webpack --entry ./class="lazy" data-src/index.js --mode production

运行该命令之后,我们可以看到目录新出现了dist文件夹,文件夹中有main.js文件,该文件就是我们打包之后的文件。

那么dist文件夹的名字和main.js文件的名字可以自己定义吗?答案是可以,但是我们需要在命令行中输入其他的参数。

到这里我们发现,命令行不方便也不直观,而且不能保存我们的一些配置,因此webpack为我们提供了通过自定义配置文件的方式帮助我们自定义配置参数。

3 配置文件配置

我们在webpack-demo文件夹中新建文件webpack.config.js文件,这个文件名不能随意起,因为webpack会自动读取文件,在该文件中配置entryoutput制定输入和输出的文件:

module.exports = {
    entry: "./class="lazy" data-src/index.js", // 设置入口文件
    output: {
        filename: "bundle.js", // 指定输出的文件
        path: "./dist", // 指定输出的路径
    }
}

配置完成之后我们在终端运行命令来打包文件:

npx webpack

结果我们可以看到,终端为我们报了错,提示我们输出路径必须是一个绝对路径。那么我们可以通过node中的path模块来获得当前文件的路径,通过该路径来设置输出路径:

const path = require("path");
module.exports = {
    entry: "./class="lazy" data-src/index.js", // 设置入口文件
    output: {
        filename: "bundle.js", // 指定输出的文件
        // path.resolve()把一个路径或路径片段的序列解析为一个绝对路径
        // __dirname是当前文件所在的目录
        path: path.resolve(__dirname, "./dist"), // 指定输出的路径
    }
}

我们再执行npx webpack,我们发现打包成功了,不过终端提示我们还应该设置一下mode,我们在配置文件后添加上mode即可。

const path = require("path");
module.exports = {
    entry: "./class="lazy" data-src/index.js", // 设置入口文件
    output: {
        filename: "bundle.js", // 指定输出的文件
        // path.resolve()把一个路径或路径片段的序列解析为一个绝对路径
        // __dirname是当前文件所在的目录
        path: path.resolve(__dirname, "./dist"), // 指定输出的路径
    },
    mode: "production" // 模式:生产环境
}

打包之后,我们可以看到dist文件夹下面出现了bundle.js文件,该文件就是我们打包之后的文件。

到此这篇关于JavaScript自定义Webpack配置实现流程介绍的文章就介绍到这了,更多相关JavaScript自定义Webpack 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript自定义Webpack配置实现流程介绍

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript自定义Webpack配置实现流程介绍

本系列主要整理前端面试中需要掌握的知识点。本节介绍webpack如何优化前端性能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-11-13

JavaScript自定义Promise实现流程

现在网上有非常多的Promise文章,但都是给你一堆代码,或者某些核心代码,让你看完之后感觉,嗯,很厉害,但还是不知所云,不知其所以然。那么本文真正从一个小白开始带你深入浅出,一步一步实现自己的 Promise,这种自己造轮子的过程一定是进步最快的过程,快上车开始吧
2022-11-13

Vue自定义Form组件实现方法介绍

这篇文章主要介绍了Vue自定义Form组件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2022-11-13

SpringBoot配置自定义拦截器实现过程详解

在系统中经常需要在处理用户请求之前和之后执行一些行为,例如检测用户的权限,或者将请求的信息记录到日志中,即平时所说的"权限检测"及"日志记录",下面这篇文章主要给大家介绍了关于在SpringBoot项目中整合拦截器的相关资料,需要的朋友可以参考下
2022-11-13

Android 自定义View时使用TypedArray配置样式属性详细介绍

Android 自定义View时使用TypedArray配置样式属性详细介绍 在自定义view时为了提高复用性和扩展性,可以为自定义的view添加样式属性的配置,比如自定义图片资源、文字大小、控件属性等,就这需要用到Typed
2022-06-06

spring boot如何实现自定义配置源

这篇文章给大家分享的是有关spring boot如何实现自定义配置源的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概述我们知道,在Spring boot中可以通过xml或者@ImportResource 来引入自
2023-05-30

SpringBoot自定义Starter与自动配置实现方法详解

在SpringBoot官网为了简化我们的开发,已经提供了非常多场景的Starter来为我们使用,即便如此,也无法全面的满足我们实际工作中的开发场景,这时我们就需要自定义实现定制化的Starter
2023-02-07

Spring Security在6.0弃用WebSecurityConfigurationAdapter后该如何自定义配置介绍(新旧示例)

前言: 在本人经历过新版和旧版的不同的配置折磨后,决心自己写一篇介绍造福大众,不好地方,欢迎伙指出ovo本文针对Spring Security 6.0版本的自定义配置进行介绍,其中包含自定义数据源UserDetailsService、自定义
2023-08-17

SpringBoot自定义路由覆盖实现流程详解

这篇文章主要介绍了SpringBoot自定义路由覆盖实现流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2023-01-02

SpringBoot通过自定义注解实现配置类的自动注入的实现

本文主要介绍了SpringBoot通过自定义注解实现配置类的自动注入的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-05-16

Android自定义View绘制贝塞尔曲线实现流程

贝塞尔曲线的本质是通过数学计算的公式来绘制平滑的曲线,分为一阶,二阶,三阶及多阶。但是这里不讲数学公式和验证,那些伟大的数学家已经证明过了,所以就只讲讲Android开发中的运用吧
2022-11-13

编程热搜

目录