webpack的基本配置

这是一篇记录如何使用webpack管理项目的博客,笔者认为这里面的每一步都写的比较清楚,里面包含一些安装过程中可能会遇到的问题以及解决方法。可以供刚学习webpack的同学按照流程安装使用。(ps:文件夹名称手误输错,应该是webpack_study)

1. 项目文件夹建立并管理

  • 建立一个项目webpack-study,在里面创建文件夹dist和src。src文件夹里存放源代码,dist文件夹里存放webpack打包后产生的文件。.在src文件夹里创建css文件夹,js文件夹,images文件夹,main.js文件,index.html文件。其中,main.js是项目入口文件
    在这里插入图片描述
  • 使用npm init -y 管理项目
    在这里插入图片描述
    输入命令后会产生一个package.json文件

2. webpack安装

  • 在我的本机里已经安装了webpack,但是在这里还需要使用npm install --save-dev webpack命令局部安装webpack。
    在这里插入图片描述在安装成功后会产生一个node_modules文件夹和package-lock.json文件
    在这里插入图片描述

3. 使用命令将文件夹打包

  • 使用命令webpack ./src/main.js -o ./dist/bundle.js把mian.js文件打包
    在这里插入图片描述
    在这里我们看到报错了,显示webpak没安装,然而我们已经安装了webpack。这是因为webpack4版本很多功能都已经放在webpackl-cli里面了,所以我们进行安装webpackl-cli

  • 用命令npm install webpack-cli -g 进行全局安装
    在这里插入图片描述
    用npm install webpack-cli -D进行项目本地安装
    在这里插入图片描述

  • 由于我们目前没有配置package.json里的文件
    所以我们目前需要使用命令webpack ./src/main.js -o ./dist/bundle.js --mode=development把main.js文件打包生成dist文件夹里的bundle.js

  • 在main.js里面编辑console.log(‘ok’),并且在index.html里导入生成的bundle.js文件。
    在这里插入图片描述
    然后在浏览器中打开index.html,并查看控制台里的输出表示webpack可以进行打包了
    在这里插入图片描述

4. 安装自动打包工具

由于每次改动代码都要输入命令进行打包比较麻烦,所以我们需要安装 webpack-dev-server自动打包工具来达到自动更新的目的。

  • 使用命令npm i webpack-dev-server -D进行安装

在这里插入图片描述

安装完成后我们要创建一个webpack.config.js配置文件在这里插入图片描述

  • 在webpack.config.js里配置相关信息
    当以命令行形式运行 webpack 或 webpack-dev-server 的时候,工具会发现,我们并没有提供要打包的文件的入口和出口文件,此时,他会检查项目根目录中的配置文件,并读取这个文件,就拿到了导出的这个 配置对象,然后根据这个对象,进行打包构建。
//由于webpack是基于node构建的,所以webpack配置文件中,任何合法的node代码都支持的
var path=require('path')
module.exports = {
    entry: path.join(__dirname, './src/main.js'), // 入口文件
    output: { // 指定输出选项
      path: path.join(__dirname, './dist'), // 输出路径
      filename: 'bundle.js' // 指定输出文件的名称
  }
}
  • 在package.json文件里添加dev相关指令
    在这里插入图片描述
"dev":"webpack-dev-server --open --port 3000 --contentBase src --hot"
`--open`表示自动打开浏览器
`--port 1234`表示打开的端口号为1234
`--hot`表示启用浏览器热更新
` --contentBase src`表示指定根目录
  • 使用npm run dev启动项目
    在这里插入图片描述
    然后再来查看输出,发现报错为没有找到bundle.js文件
    在这里插入图片描述
    由于我们配置过--contentBase src,所以我们就要在index.html里面修改script标签引入bundle.js的路径,直接改为根目录下访问。
    在这里插入图片描述

5. 安装页面生成工具

除了第四步中修改script标签中引入bundle.js文件的方法外。还可以使用插件html-wepack-plugin,在内存中生成一样的html页面,并且自动把bundle.js注入到页面的最底部(在内存中的页面比在硬盘中的运行更快)。

  • 使用npm i html-webpack-plugin -D命令安装
    在这里插入图片描述
  • 修改webpack.config.js配置文件
//由于webpack是基于node构建的,所以webpack配置文件中,任何合法的node代码都支持的
var path = require('path')
// 在内存中,根据指定的模板页面,生成一份内存中的首页,同时自动把打包好的bundle注入到页面底部
// 如果要配置插件,需要在导出的对象中,挂载一个 plugins 节点
var htmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {
  entry: path.join(__dirname, './src/main.js'), // 入口文件
  output: { // 指定输出选项 
    path: path.join(__dirname, './dist'), // 输出路径
    filename: 'bundle.js' // 指定输出文件的名称
  },
  plugins: [ // 所有webpack  插件的配置节点
    new htmlWebpackPlugin({
      template: path.join(__dirname, './src/index.html'), // 指定模板文件路径
      filename: 'index.html' // 设置生成的内存页面的名称
    })
  ]
}
  • 再次npm run dev并查看效
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    我们可以看到控制台里ok输出成功,查看index.html的源码发现在底部注入了一个bundle.js文件
    到此,实现自动打包功能的webpack-dev-server插件安装成功,实现在内存中自动生成html页面并且把bundle。js文件注入的html-webpack-plugin插件安装成功。到此,wenpack的基本配置已经完成,但是此时还不能打包css样式的文件,因为webpack默认只能打包处理Js类型的文件,无法处理其他的非js文件如果要处理非js类型的文件,我们需要手动安装一些合适第三方loader加载器。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值