一、为什么需要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. vue 上拉刷新组件

    背景,项目中经常会出现需要上拉加载更多或者下拉刷新的需求,一直以来呢都是借用各种UI库来实现,但是不知道啥情况,最近在使用的时候,一直有问题,出不了效果,然人很恼火,于是只能自己动手来实现以下, 这次 ...

  2. [杂谈-随口一说]Keep learning!

    随口一说 好些日子没有发表公号文章了, 想说,最近真是忙呢,有时候觉得真忙,有时候还觉得忙的脑子一团乱麻. 原计划的公众号文章将近一个月了一篇没写,时间,都去哪儿了? 周末自己搬家,工作中的任务,学习 ...

  3. 关于Tensorflow基于Windows安装那些事儿

    声明:代码及博客小白一枚,如有错误,感谢指正~~ 众所周知,摘抄来温习一遍: Tensorflow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes) ...

  4. [COCOS2DX-LUA]0-005.cocos2dx中关于全面屏和折叠屏的适配的一些见解

    1.随着科技的发展,我们可以看到从iphoneX的刘海屏开始,引发了各种全面屏和异形屏的出现.这是科技的进步,但是对于各大的应用厂商来说,苦不堪言. 2.当然 ,吐槽归吐槽,我们还是要理智的去对待这个 ...

  5. 50个SQL语句(MySQL版) 问题四

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  6. Java实现 蓝桥杯 算法训练 第五次作业:字符串排序

    试题 算法训练 第五次作业:字符串排序 问题描述 输入一个小写字符串,按从小到大的顺序输出. 输入格式 bcaed 输出格式 abcde 顶格输出,中间没有空格 样例输入 一个满足题目要求的输入范例. ...

  7. Java实现蓝桥杯十六进制转八进制

    基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB 提交此题 锦囊1 锦囊2 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n ( ...

  8. Java实现洛谷 P1072 Hankson 的趣味题

    P1072 Hankson 的趣味题 输入输出样例 输入 2 41 1 96 288 95 1 37 1776 输出 6 2 PS: 通过辗转相除法的推导 import java.util.*; cl ...

  9. Java实现 蓝桥杯 算法训练 矩阵乘法

    算法训练 矩阵乘法 时间限制:1.0s 内存限制:512.0MB 提交此题 问题描述 输入两个矩阵,分别是ms,sn大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s,n(均 ...

  10. Java实现 蓝桥杯VIP 算法训练 s01串

    题目描述 s01串初始为" 0" 按以下方式变换 0变1,1变01 数据规模和约定 0~19 输入 1个整数(0~19) 输出 n次变换后s01串 样例输入 3 样例输出 101 ...