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

安装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被引入
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些常见的Webpack问题和解决方案: 1. 如何安装Webpack? 可以使用npm命令安装Webpack:`npm install webpack --save-dev` 2. 如何配置WebpackWebpack的配置文件名为webpack.config.js,位于项目根目录下。可以在该文件中配置入口文件、输出文件、loader、plugin等。 3. 如何使用Webpack打包React应用? 可以使用babel-loader将JSX转换为JavaScript,并使用webpack-dev-server实现热更新。具体可参考React官网提供的Webpack配置示例。 4. 如何使用Webpack优化打包文件大小? 可以使用Tree Shaking、Code Splitting、Lazy Loading等技术来减少打包文件大小。另外,使用Webpack提供的压缩插件可以进一步减小文件大小。 5. 如何使用Webpack处理图片、样式等静态资源? 可以使用url-loader、file-loader等loader来处理图片、样式等静态资源,将其转换为Webpack能够识别的模块。 6. 如何使用Webpack打包页面应用? 可以在Webpack配置文件中配置多个entry和output,分别对应多个页面的入口和输出文件。同时可以使用HtmlWebpackPlugin插件来生成HTML文件。 7. 如何使用Webpack进行代码分析和优化? 可以使用Webpack提供的分析工具(如webpack-bundle-analyzer)来分析打包后的文件大小和模块依赖关系,以优化打包效果。另外,使用Webpack的缓存机制和DllPlugin插件可以提高打包速度。 8. 如何使用Webpack与其他框架集成? 可以根据其他框架的需求来配置Webpack,例如Vue.js需要使用vue-loader来处理Vue组件。同时,还可以使用其他框架提供的Webpack插件来优化打包效果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值