一、为什么需要WebPack配置文件

引用自官方:

在 webpack 4 中,可以无须任何配置使用,然而大多数项目会需要很复杂的设置,这就是为什么 webpack 仍然要支持 配置文件。这比在终端(terminal)中手动输入大量命令要高效的多,所以让我们创建一个取代以上使用 CLI 选项方式的配置文件:

我们在项目目录下新建一个webpack.config.js

const path = require("path"); //导入一个模块

module.exports = {

entry:"./src/index.js", //入口文件

output:{//输出文件对象

filename:"bundle.js",//输出文件名

path:path.resolve(__dirname, 'test')//输出文件的路径,在这种方式下是个绝对路径

}

};

注意:这里的require()函数是用来动态导入一个模块的,这里用到了node.js自带的一个path模块(类似于c++中的include<…>,只不过是动态导入的,和LoadLibarary()相似),其中__dirname代表当前目录,reslove()函数获得一个绝对路径也就是当前目录下的……\test。并且注意这不是JSON文件格式,所以上面的配置文件是可以打注释的。

我们运行以下命令:

webpack –-config webpack.config.js

将会产生一个bundle.js文件,也就是打包好的文件。

这和之前在dist文件夹生成好的JS文件是一样的。

默认的,webpack会有一个默认的配置设置,比如之前我们没有指定输出文件夹,它确自动的创建了一个dist文件夹并把打包好的文件放在其下。了解一些默认的配置对理解WebPack以及解决莫名奇妙的问题是非常有帮助的。

二、NPM脚本

要知道,程序员都是懒的,能减少重复的劳动绝对不会自己亲自动手,我们发现,每一次打包都要输入webpack,然后后面跟着一串选项,比如 webpack –-mode production –XXX XXX…….,在之前你可能没有体会到,因为你没有用到这些选项,现在假想,你要用到许多选项,每次都输入这么多,会不会觉得很麻烦?所以,NPM脚本就产生了。
我们在package.json文件中的字段scripts字段添加如下信息:

{

"name": "webpack-demo",

"version": "1.0.0",

"description": "",

"main": "index.js",

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1",

"build":"webpack --mode production"

},

"keywords": [],

"author": "",

"license": "ISC"

}

然后在命令行工具下执行:

npm run build

这里的npm run XXX是运行XXX脚本,XXX是你在package.json文件中scripts字段下定义的。

3.WebPack配置文件的更多相关文章

  1. webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server

    一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...

  2. 调试webpack配置文件

    webpack运行在nodejs上,调试webpack就相当于调试nodejs程序.下面介绍一种通用的办法. 1.配置package.json,加一个debug. { 'scripts': { 'de ...

  3. webpack 配置文件相关解说

    博客地址:https://ainyi.com/10 webpack - 什么是webpack: WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它 ...

  4. react暴露webpack配置文件

    在react中安装create-react-app脚手架新建项目,但是新建的项目中没有配置文件. webpack的配置文件webpack.base.conf.js隐藏在了node_modules文件夹 ...

  5. 为什么我们要做三份 Webpack 配置文件

    时至今日,Webpack 已经成为前端工程必备的基础工具之一,不仅被广泛用于前端工程发布前的打包,还在开发中担当本地前端资源服务器(assets server).模块热更新(hot module re ...

  6. webpack实践(二)- webpack配置文件

    webpack系列博客中代码均在github上:https://github.com/JEmbrace/webpack-practice <webpack实践(一)- 先入个门> < ...

  7. 二:搭建一个webpack3.5.5项目:建立项目的webpack配置文件

    第一步: npm init -y [初始文件] npm info webpack / bower info webpack[查看版本,用bower的时候要先 npm install bower] np ...

  8. 3.使用webpack配置文件webpack.confg.js配置打包文件的入口和出口

    在项目根目录下新建webpack.config.js文件 webpack.config.js文件配置如下: // Node的路径操作使用的是path模块 const path=require('pat ...

  9. webpack 配置文件外置

    转自:https://www.jianshu.com/p/377bfd2d9034 1.问题初衷 解决问题的初衷,源于vue项目中公共路径在打包之后一旦遇到整体的路径更改就需要再次build一下. 如 ...

随机推荐

  1. 【图机器学习】cs224w Lecture 13 & 14 - 影响力最大化 & 爆发检测

    目录 Influence Maximization Propagation Models Linear Threshold Model Independent Cascade Model Greedy ...

  2. 正则表达式:匹配单个数字重复n次

    匹配单个数字重复n次:(\d)\1{n-1}其中,\d表示一位数字,(\d)表示匹配之后捕获该匹配,并分组并对组进行编号\1表示被捕获的第一个分组{n-1}是因为被捕获的第一个分组已经消耗了一位数字, ...

  3. Excel表格中无法中间插入新行列! 提示:在当前工作表的最后一行或列中,存在非空单元格,解决方案

    excel中新增行列时报错: 提示:在当前工作表的最后一行或列中,存在非空单元格,所以无法插入新行或新列.

  4. 【Java8新特性】不了解Optional类,简历上别说你懂Java8!!

    写在前面 最近,很多读者出去面试都在Java8上栽了跟头,事后自己分析,确实对Java8的新特性一知半解.然而,却在简历显眼的技能部分写着:熟练掌握Java8的各种新特性,能够迅速使用Java8开发高 ...

  5. CSS选择器-类-ID-伪类

    类选择器(Class selectors) 通过设置元素的 class 属性,可以为元素指定类名.类名由开发者自己指定. 文档中的多个元素可以拥有同一个类名. 在写样式表时,类选择器是以英文句号(.) ...

  6. SpringBoot实现微信小程序登录的完整例子

    目录 一.登录流程 二.后端实现 1.SpringBoot项目结构树 2.实现auth.code2Session 接口的封装 3.建立用户信息表及用户增删改查的管理 4.实现登录认证及令牌生成 三.前 ...

  7. Rocket - diplomacy - resolveStar

    https://mp.weixin.qq.com/s/W1cS9sgwLFjOOm86d05NIA   介绍各类型节点如何确定星型绑定所包含的连接数.     1. 定义   ​​ resoveSta ...

  8. jchdl - GSL实例 - Div

    因为对除法研究不深,这里略去不表.   有兴趣可以参考链接: https://github.com/wjcdx/jchdl/blob/master/src/org/jchdl/model/gsl/op ...

  9. python3 pymysql查询结果包含字段名

    python2使用MySQLdb模块进行连接mysql数据库进行操作:python3则使用pymysql模块进行连接mysql数据库进行操作:两者在语法上有稍微的差别,其中就包括查询结果包含字段名,具 ...

  10. Java实现 LeetCode 659 分割数组为连续子序列 (哈希)

    659. 分割数组为连续子序列 输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数.返回你是否能做出这样的分割? 示例 1: 输入: [ ...