前端项目构建工具-webpack入门

欢迎关注我的个人微信公众号,领取精美前后端全栈学习资料~

一、什么是webpack

webpack是基于Node.js开发出来的一个用于前端项目构建的工具,它能很方便的对前端的静态资源文件进行管理、打包,Webpack传送门

二、安装与初步使用

1、首先确保已安装Node.js环境(npm),Node.js传送门

2、全局安装命令

npm i webpack@3.6.0 -g

“@“”符号用于指定webpack的版本,不指定会安装最新版本的webpack,目前新版本已经有4.x.x以上了,我这里使用的是3.6.0版本来学习

3、在项目中安装

在项目的根目录下执行如下命令

npm i webpack@3.6.0 --save-dev

说明:--save-dev等同于 -D ,表示安装的插件用于开发环境

4、创建好工作目录,项目的根目录下执行如下命令,使用npm来管理项目中依赖的包

工作目录

npm init -y

执行完后会发现项目目录下多了个package.json文件

5、安装JQuery

npm i jquery --save

说明:--save等同于 -S,表示安装的包用于生产生产环境

6、使用JQuery

在main.js中当如JQuery,并书写JQuery的相关测试函数,如下:

//导入JQuery
import $ from 'jquery'

const $ = require('jquery')


$(function(){

    $("#button").click(function(){
        alert("webpack测试");
    });

});

接着在index.html中引入main.js,并书写测试代码,如下:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>首页</title>

    <!-- 引入main.js -->
    <script src="./main.js"></script>

</head>
<body>
    <h1>这是测试页面</h1>
    <input id="button" type="button" value="webpack测试"/>
</body>
</html>

这一切看起来似乎没什么问题,但是当我们在浏览器打开index.html,点击按钮并不会有任何反应,F12打开控制台,可以看到如下错误

这是由import语法是ES6的语法,浏览器并不支持,这时候,就需要使用webpack来帮助我们了,首先,确保全局环境下已经安装了webpack,接着在项目的根目录下执行如下命令

webpack ./src/main.js ./dist/bundle.js

./src/main.js 表示指定需要webpack处理(打包)的js文件目录(main.js是项目的JS入口文件), ./dist/bundle.js表示经过webpack处理(打包)后输出的新文件的目录,bundle.js文件名任意,推荐使用bundle命名

执行完命令之后,我们会发现在dist目录下会生成一个bundle.js的文件,我们在index.html中引入该文件,如下

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>首页</title>

    <!-- 引入main.js -->
    <script src="../dist/bundle.js"></script>

</head>
<body>
    <h1>这是测试页面</h1>
    <input id="button" type="button" value="webpack测试"/>
</body>
</html>

然后在浏览器打开index.html,点击按钮,效果如下

 这时我们可以发现,JQuery点击事件成功被触发!

但是,我们不妨想象一下,当我们每次修改main.js后,都要运行webpack ./src/main.js ./dist/bundle.js 这一长串的打包命令是非常麻烦的,有没有什么简单的命令可以代替呢,答案是显而易见的

首先,在项目的根目录下创建webpack.config.js文件,然后加入如下配置内容

//路径操作要使用Node中的path模块
const path = require('path')


//该配置文件其实就是一个JS文件,通过Node中的模块操作,向外暴露一个配置对象
module.exports ={ // __dirname表示当前项目的完整路径
    entry: path.join(__dirname, './src/main.js'), //配置入口文件路径,表示要使用webpack打包哪个文件
    output:{
        //输出文件配置
        path: path.join(__dirname, './dist'), //指定打包好的文件输入的目录
        filename: 'bundle.js' //指定输出文件的文件名称
    }
}

其次我们修改main.js中alert的内容变为 “webpack哈哈哈”,

接着在项目的根目录下执行如下命令

webpack

最后使用浏览器打开index.html页面,效果如下

成功!打包命令是不是简单了很多呢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值