webpack自动打包、热更新、css-loader、style-loader

一个简单的思维图,不是很规范

在这里插入图片描述
在这里插入图片描述
首先,项目目录下执行

	npm init -y

webpack 命令行相关的内容都迁移到 webpack-cli,所以除了 webpack 外,我们还需要安装 webpack-cli:

	npm install webpack  webpack-cli -g  --save-dev

安装:

	npm i  webpack-dev-server -D 

安装:

	npm i  webpack -D

loader 用于对模块的源代码进行转换。loader 可以使你在 import 或"加载"模块时预处理文件。 例如,加载css文件

	npm install --save-dev css-loader style-loader

项目下创建目录结构如下,html,main.js在src目录下,下面三个配置文件在根目录下

在这里插入图片描述

手动创建webpack.config.js下面进行如下的配置:

const path = require('path');

module.exports = {
    mode:"development",//通过选择 development 或 production 之中的一个,开发模式或者生产模式
  entry: './src/main.js',//入口文件
  output: {
    path: path.resolve(__dirname, 'dist'),//出口文件
    filename: 'bundle.js'//出口文件下面的js名字
  },
  module:{
    rules:[
      {
        test: /\.css$/,
        use:['style-loader','css-loader']
      }
    ]
  },
};
//我这里写的配置只是基础,入口出口就只有一个,入口出口有多个还需要修改

package.json下面看有没有漏掉的,如果有遗漏手动加上去,然后执行npm i

"devDependencies": {
    "css-loader": "^3.2.0",
    "style-loader": "^1.0.0",
    "webpack": "^4.40.2",
    "webpack-cli": "^3.3.7",
    "webpack-dev-server": "^3.8.1"
  }

index.html页面下:

<!DOCTYPE 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>Document</title>
</head>
<body>
    <div>哈哈哈</div>
</body>
</html>

index.css页面下:

body{
    background:red;
}

main.js文件下:

import './css/index.css';

执行命令打包后会自动生成dist文件,下面有个bundle.js文件:

	webpack

在这里插入图片描述

index.html页面下引入打包好的bundle.js文件:

<script src="../dist/bundle.js"></script>

打开开浏览器看看效果把,这样就行了,但是有一个问题,就是修改css里面的内容后,又需要重新打包,这样就显的很麻烦。那么就往下面看:

package.json目录下script下面加上dev跟build属性

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack-dev-server --open",//默认端口号8080,要修改就在后面加上其它端口,看完删除备注不然报错
    "build": "webpack --mode production"
  },

控制台执行:

npm run dev
  • 执行完后有一个服务器http://localhost:8080/src/,打开看看body的背景为红色。现在打包后的输出js文件就放在这个服务器上面了
  • js文件就在这上面http://localhost:8080/bundle.js可以看看
  • 修改index页面,重新引入:
<script src="/bundle.js"></script>	//注意这里src引入的反斜杠前面不要加.
  • 这样就好了,修改css上面的内容,页面也跟着变化,项目做好之后,webpack打包一次,然后把index上面引入的js文件变回来就行了
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值