webpack的安装及打包的常见问题

本文详细介绍了Webpack的安装过程,包括确保安装node.js、创建配置文件、安装webpack及webpack-cli等。还进行了打包演示,解决了打包中遇到的版本适配问题。此外,介绍了webpack4打包多个js文件的方法,以及如何引入jQuery,为Webpack的使用提供了全面指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装webpack真的废了好大的功夫,终于给它安装好了,被自己感动(蠢)哭了,接下来说一说我遇到了哪些问题。
1、确保安装好node.js,node.js自带npm,所以node.js安装完成后,不需要再安装npm
输入命令【node -v】 和 【npm -v】查看版本号,下图情况表示安装成功
在这里插入图片描述
2、创建配置文件【package.json】
输入命令【npm init】,配置package.json

3、安装webpack

npm install webpack -g (全局安装)

通常还是会在项目中安装局部的webpack,为了安装各自需要的模块

npm install webpack --save-dev

注意:webpack 4x以上,webpack将命令相关的内容都放到了webpack-cli,所以还需要安装webpack-cli

npm install webpack-cli -g(全局安装)

输入命令【webpack -v】如果显示出版本号,则表示安装成功
在这里插入图片描述
输入命令【cat package.json】,就打开【package.json】配置文件,看到这里也有了webpack的版本信息
在这里插入图片描述
4、webpack安装成功之后,接下来就要进行webpack 打包演示了
cat.js

var cats = ['dave','henry','martha'];
module.exports = cats;

index.js(Entry Point)

cat = require('./cats.js');
console.log(cats);

然后要执行webpack,输入命令

webpack ./src/page/index/index.js ./dist/app1.js 

报了如下错误
在这里插入图片描述
在网上查了一下错误原因,是因为webpack版本高,原来的命令不适用,解决方法:

更换打包命令为 :

 webpack ./src/page/index/index.js -o ./dist/app1.js --mode development

然后就顺利解决了
在这里插入图片描述
上边的方法是使用webpack命令行的形式,只能配置一个入口文件和一个目标文件,其他高级的功能无法配置
继续通过配置一个webpack.config.js,读取这个配置文件的参数,去做一个打包
在这里插入图片描述
配置webpack.config.js

const path = require("path");
module.exports = {
    mode: "development", //打包为开发模式
    // 入口配置的对象中,属性为输出的js文件名,属性值为入口文件
    entry: "./src/page/index/index.js", //入口文件,从项目根目录指定
    //输出路径和文件名,使用path模块resolve方法将输出路径解析为绝对路径
    output: { 
        path: path.resolve(__dirname, "./dist"), //将js文件打包到dist目录下
        filename: "app.js",
    }
}

出现一个警告
在这里插入图片描述
在网上查了以下原因,因为webpack升级4.0新增mode属性
解决办法:
在package.json中设置:

"scripts": {
    "dev": "webpack --mode development",  // 开发环境
     "build": "webpack --mode production",  // 生产环境
  },

在webpack.config.js中设置:

module.exports = {
    entry: './src/page/index/index.js',
    output:{
         path:__dirname+'./dist',
         filename: "app.js"
    },
    mode: 'development' 
};

然后就打包成功了
在这里插入图片描述
打包结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019051110573714.png
5、webpack4打包多个js文件
文件目录
在这里插入图片描述
(1)多个js文件分别打包
重新配置webpack.config.js

const path = require("path");
module.exports = {
    mode: "development", 
    entry: {
     index:"./src/page/index/index.js",
     login:"./src/page/login/index.js"
    },
    output: { 
        path: path.resolve(__dirname, "./dist"),
        filename: "[name].js" //使用[name]打包出来的js文件会分别按照入口文件配置的属性来命名

    }
}

在这里插入图片描述
打包结果
在这里插入图片描述
(2)多个js合并打包成一个js文件

const path = require("path");
module.exports = {
    mode: "development", 
    entry:["./src/page/index/index.js","./src/page/login/index.js"],
    output: {
        path: path.resolve(__dirname, "../mall-fe/dist"),
        filename: "js/[name].js" 
    }
}

看到两个js文件就被合并成一个main.js了
在这里插入图片描述
但是这种方式的扩展性非常差,如果page文件夹下增加了新的文件,那么就要重新修改webpack配置文件,非常麻烦。
这时候就可以用到glob,glob可以用类似通配符的方式来匹配文件。
首先安装一个glob,在命令行中执行

npm intall glob --save-dev

在这里插入图片描述
安装好glob之后,重新配置webpack.config.js

const path = require("path");
const glob = require("glob");
module.exports = {
    mode: "development",
    entry:glob.sync('./src/page/*.js'), //在数组中写上所有的js文件名并打包
    output: {
        path: path.resolve(__dirname, "./dist"), 
        filename: "[name].js",
    }
}

打包结果
在这里插入图片描述
在这里插入图片描述
当然也可以分类所要打包的文件,比如将js文件全部打包在js文件夹下
修改filename即可

 filename: "js/[name].js",

6、如何引入jQuery
(1)新建一个index.html
在这里插入图片描述
在浏览器中打开文件,看到脚本被引进来了
在这里插入图片描述
用命令行的方式将jQuery装上

npm install jquery --save

打开page/index.html,引入jQuery
在这里插入图片描述然后打包一下,在浏览器中打开,看到jQuery被引入
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值