webpack4.+的使用(一)(webpack的基本使用)

webpack4.+的使用(一)

一、webpack的基本使用

1、安装和卸载webpack开发依赖的命令分别为:npm install webpack -gnpm uninstall webpack -g(npm命令是在安装了node.js后才有的,故应预先装了node.js)

2、在cmd中进入当前项目目录,并在当前项目中输入npm install webpack -gnpm install webpack-cli -g安装webpack开发依赖(注意,应先安装全局的webpack,否则在局部文件夹中使用会报错)。

在这里插入图片描述
在这里插入图片描述
3、在当前目录下新建entry.js、index.html,并在两个文件中输入以下代码:

//entry.js
document.write("Hello world");
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>这是webpack的第一次使用</title>
	</head>
	<body>
		<div id="app"></div>
        <!--这个文件是待会使用命令生成在根目录的文件-->
		<script src="./bundle.js"></script>
	</body>
</html>

4、如果安装完webpack后目录中没有package.json文件,那么就在命令行中输入npm init --yes即可初始化package.json(此时项目目录中可以看到该文件),如下图:
在这里插入图片描述

5、在当前01-module中输入webpack entry.js -o bundle.js后,即可得到如下图所示的结果,此时表示成功输出bundle.js文件:
在这里插入图片描述
6、访问index.html即可看到输出的"Hello world",如下图:
在这里插入图片描述

二、使用npm命令编译输出

1、打开package.json文件,找到"scripts",并在其中输入 “build”: “webpack entry.js -o bundle.js”,其中,"build"只是起的一个别名,可任意,“build"中的内容写的是我们上一步中输入的编译命令,如下图:
在这里插入图片描述
2、配置完package.json后,回到cmd中,输入npm run build,即可看到如下图所示的编译结果,访问index.html,可同样看到页面上输出"Hello world”:
在这里插入图片描述
在这里插入图片描述

三、webpack.config.js文件配置

1、在当前目录中创建webpack.config.js文件,并在文件中写入以下内容:

//直接在当前目录中敲 webpack即可生成bundle.js
module.exports={
	//入口
	entry:{
		//可以有多个入口,也可以有一个,如果有一个就默认从这个入口开始解析
		"entry":"./entry.js"
	},
	output:{
		filename:'./bundle.js'
	},
}

2、如果项目中创建了webpack.config.js文件,那么当我们直接在cmd中执行webpack命令时,会自动读取该文件中的配置进行项目的编译,如下图:
在这里插入图片描述
3、使用webpack编译后,即可在目录中看到生成的bundle.js文件,访问index.html即可看到页面输出的“Hello world”。

四、配置webpack.dev.config.js和webpack.produce.config.js文件

1、创建webpack.dev.config.jswebpack.produce.config.js文件,前一个我们表示生产(开发)环境的配置文件,后一个表示正式环境的配置文件,两个js文件的内容分别为:

//这个可以做测试环境的config文件。执行的命令为:webpack --config webpack.dev.config.js
module.exports={
	//入口
	entry:{
		//可以有多个入口,也可以有一个,如果有一个就默认从这个入口开始解析
		"entry":"./entry.js"
	},
	output:{
		filename:'./bundle.js'
	},
	watch:true,//监视文件改动,自动产出bundle.js
}
//这个可以做正式环境的config文件。
//执行的命令为:webpack --config webpack.produce.config.js
module.exports={
	//入口
	entry:{
		//可以有多个入口,也可以有一个,如果有一个就默认从这个入口开始解析
		"entry":"./entry.js"
	},
	output:{
		filename:'./bundle.js'
	}
}

2、两个js文件的区别在于生产环境的js文件我们写多了一句watch:true,写了这段代码,vue中的watch组件将会去监视文件的改动,并自动产出bundle.js文件。

3、在package.json文件中将运行上述两个js的命令放在script中,如下所示:

{
  "name": "webpack-vue",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack entry.js -o bundle.js",
	"dev":"webpack --config webpack.dev.config.js",//生产环境
	"produce":"webpack --config webpack.produce.config.js"//开发环境
  },
  "keywords": [
    "webpack"
  ],
  "author": "xgy",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.41.6",
    "webpack-cli": "^3.3.11"
  }
}

4、在cmd中输入npm run dev(同理npm run produce即可运行生产环境的config文件),即可看到成功执行:
在这里插入图片描述

5、运行完包含watch:true的config文件后,将entry.js中的“Hello world”更改为“666”,刷新页面(不需要重新编译,因为使用了watch后会实时监控),即可看到页面输出了"666",如下图:
在这里插入图片描述

备注:在vue中,“./”表示的是当前目录,而“…/”表示的是父级目录,即分别表示当前文件所在目录父级目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值