【webpack】构建webpack项目

前提

已经安装node和npm。
创建一个文件夹,这里创建的是webpacklearn文件,cd到该文件夹下,输入命令(快速初始化项目)

npm init --yes

执行这个命令之后根目录下会多出一个package.json文件。


创建步骤

First
安装webpack及webpack-dev-server(用于开发的本地服务器)

$ npm i -g webpack webpack-dev-server

Second
根目录下创建src文件夹,src文件夹下创建index.js

document.write("learning Webpack")

根目录下创建config文件夹(专用于放置配置文件),然后在config下创建配置文件webpack.config.js;

var path = require('path');

module.exports = {
  entry: './index.js',                     //项目入口
  context: path.resolve(__dirname, "./../src"),   //webpack在寻找入口文件时会以此为根目录
  output: {                
    path: path.resolve(__dirname, './../dist'),    //要输出的路径
    filename: 'bundle.js'                     //打包后的输出文件
  },
  mode: 'production',
  devServer: {
  	contentBase: path.join(__dirname,'./..)   //告诉服务器从哪里提供内容。默认当前工作目录
  }
};

Third
在package.json文件的scripts键下添加这两项。

    "build": "webpack --config config/webpack.config.js",
    "dev": "webpack-dev-server --config config/webpack.config.js"

其中,第一项代表当执行npm run build时会执行webpack --config config/webpack.config.js命令,简化了打包时的操作。
第二项代表当执行npm run dev时会开启本地服务器,默认地址是localhost:8080(也可以自己配置打开的地址)。

Fourth
根目录下创建index.html文件。引入bundle.js

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Webpack</title>
</head>
<body>
	<script type="text/javascript" src="bundle.js"></script>
</body>
</html>

Fifth
cd到项目根目录输入命令npm run dev,提示本地服务器已启动,打开localhost:8080可以看到页面上输出了learning Webpack
输入命令npm run build,执行打包命令,成功后可以看到根目录下生成一个文件夹dist,其中包含了文件bundle.js。(注意,index.html不能直接在file:路径下打开。)


结语

至此,webpack项目创建完成。


补充

一、模块热替换HMR
如若需要启动模块热替换(HMR - Hot Module Replacement)功能(即在应用程序运行过程中替换、添加或删除模块,而无需重新加载整个页面),只需要在webpack.config.js文件下的’devServer’键下追加

hot: true,
inline: true

然后在package.json文件下,对"dev"作出以下修改:

"dev": "webpack-dev-server --config config/webpack.config.js --inline --hot"

重新启动本地服务器npm run dev,打开localhost:8080。
在index.js中改learning为hello,无需刷新,即可看到页面自动更改为hello webpack

二、关于webpack4.0+版本
如果你的webpack版本是4.0+的版本,当你运行时会报以下错误,提示cli需要另外安装。

The CLI moved into a separate package: webpack-cli
Please install ‘webpack-cli’ in addition to webpack itself to use the CLI

故此时需要运行命令npm i -D webpack-cli
如果安装webpack-cli之后,还一直报以上错误,则有可能是因为webpack是全局安装,所以webpack-cli也同样需要全局安装npm i -D webpack-cli -g

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值