webpack

一、webpack简介

  • Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
    在这里插入图片描述
  • 从图中我们可以看出,Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件,减少了页面的请求。

二、安装 Webpack

  • 使用 cnpm 安装 webpack:
  • cnpm install webpack -g

三、创建项目

  • 接下来我们创建一个目录 webpack
  • mkdir webpack
  • 在webpack目录下添加app.js文件
  • document.write("Hello world");
  • 在webpack目录下添加 index.html 文件
<html lang="en">
<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
</head>
<body>
   <script src="build/bundle.js"></script>
</body>
</html>
  • 配置webpack.config.js
let path=require("path");
module.exports={
   entry:'/app.js',
   output:{
       path:path.resolve(__dirname+'/build'),
       filename:'bundle.js'
   }
}
  • 使用 webpack 命令来打包
  • webpack app.js bundle.js
  • 成功后会自动生成一个文件夹,文件夹下面有bundle.js
  • 最后在浏览器里面打开index.html
    在这里插入图片描述
  • 下来创建一个components文件夹,文件夹底下创建stu.js
  • stu.js
module.exports={
   name:"张三"
}
  • app.js
let s=require("./components/stu")
document.write(s.name);
  • 运行index.html
    在这里插入图片描述

四、OADER

  • Webpack 本身只能处理 JavaScript 模块,如果要处理其他类型的文件,就需要使用 loader 进行转换。
  • 所以如果我们需要在应用中添加 css 文件,就需要使用到 css-loader 和 style-loader,他们做两件不同的事情,css-loader 会遍历 CSS 文件,然后找到 url() 表达式然后处理他们,style-loader 会把原来的 CSS 代码插入页面中的一个 style 标签中。
  • 接下来我们使用以下命令来安装 css-loader 和 style-loader.
  • cnpm i --save-dev css-loader style-loader
  • 执行以上命令后,会再当前目录生成 node_modules 目录,它就是 css-loader 和 style-loader 的安装目录。
  • 接下来创建一个css文件夹,文件夹下面创建一个style.css 文件
body{
   background-color: red;
}
  • 配置文件webpack.config.js
let path=require("path");
module.exports={
   entry:'/app.js',
   output:{
       path:path.resolve(__dirname+'/build'),
       filename:'bundle.js'
   },
   module:{
       rules:[
           //css
           {
               test:/\.css$/,
               use:[
                   {loader:'style-loader'},
                   {
                       loader:'css-loader',options:{
                           modules:true
                       }
                   }
               ]
           }
       ]
   }
}
  • app.js
let s=require("./components/stu")
require('./css/style.css');
document.write(s.name);
  • 最后在浏览器打开index.html
    在这里插入图片描述

版权声明:本文为qq_45806781原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。