以下是一位博主的解释:点击查看博主描述
对于我个人来说,一下午的学习下来,我的感觉,总结下来就是,webpack可以将一些js,css,less,静态文件,(前提是这些文件被一个js入口文件所引用)打包成一个js文件,这样就可以大大降低请求文件传输的次数
webpack
npm init
,然后出现如下提示,先不用管,一路回车即可npm install --save-dev webpack-cli -D //这是webpack5的本地安装方式,-D就是本地安装的意思,全局安装为-g
安装好之后,我们在webpack目录下,新建一个01目录,01目录包含src目录,src目录下又有三个文件,如下
各个文件的代码如下
我们可以看到,css,less文件都被js文件所导入了,这样我们才能打包成一个文件
接下来我们在01目录下,也就是与src同级目录下,新建一个webpack.config.js
文件,用来配置我们的webpack,以下是详细的配置和说明
// webpack配置文件 // 作用:指示webpack干哪些活(当运行webpack指令时,会加载里面的配置) // 所有的构建工具都是基于node平台,模块运行采用commonJS const {resolve} = require('path') // HtmlWebpackPlugin是用来在dist文件夹重生成html文件,它会自动引用打包好的静态资源 const HtmlWebpackPlugin = require('html-webpack-plugin') // resolve用来拼接绝对路径 module.exports = { // 入口文件 entry:'./src/index.js', // 输出文件 output:{ // 输出文件名 filename:'bundle.js', //__dirname是该文件所在的绝对路径,这里为‘H:\code\webpack>>’ //'dist'为我们我新建的文件夹名称, //下面这个这只的作用,就是将输出路径配置为H:\code\webpack\dist path: resolve(__dirname,'dist'), }, // loader配置 module:{ // loader配置 rules:[ { // 匹配哪些文件 //以.css结尾 test: /\.css$/i, use: [ // use中的loader执行顺序是从下到上,从右到左 // 创建style标签,将js中的样式资源插入,添加到head中生效 'style-loader', // 将css文件变成commonJS模块,加载在js中,里面的内容是字符串 'css-loader' ] }, { test: /\.less$/i, use:[ 'style-loader', 'css-loader', 'less-loader' ] } ], }, // 插件配置 plugins:[ // 默认会创建一个html文件,引入导出的js/css,等所有静态资源 new HtmlWebpackPlugin({ // 赋值template下的文件 template:'./src/index.html' }) ], // 模式 // mode:'production' mode:'development'//开发模式 }
npm i less-loader css-loader style-loader less -D //这里的less一定不要少,少了会报错 npm i html-webpack-plugin -D
全部安装好之后就可以在01文件夹下输入webpack进行打包,打包成功
这是打包好折后的效果,只有一个js文件