webpack安装配置与常见使用过程详解(结合vue)

webpack介绍和安装

webpack:前端模块化打包工具

安装webpack需要安装Node.js,Node.js自带软件包管理工具npm

查看自己的node版本:

node -v

全局安装webpack

cnpm install webpack -g

查看webpack版本

webpack --version

局部安装webpack

cnpm install webpack --save-dev

为什么全局安装之后还需要局部安装?

在终端直接执行webpack,使用的是全局webpack

如果在package.json中定义了script,其中包含了webpack命令,那么使用的是局部webpack

webpack基本使用过程

小案例:创建一个webpack目录,在里面创建dist目录和src目录

在src目录中创建mathUtils.js和main.js

mathUtils.js

function add(num1, num2){
 return num1 + num2;
}

function mul(num1, num2){
 return num1 * num2;
}

module.exports = {
 add, mul
}

main.js

const {add, mul} = require('./mathUtils.js');

console.log(add(2, 3));
console.log(mul(4, 5));

使用webpack将两个js打包

webpack ./src/main.js ./dist/bundle.js

报错:

ERROR in multi ./src/main.js ./dist/bundle.js
Module not found: Error: Can't resolve './dist/bundle.js' in 'C:\Users\96579\Desktop\webpack'

原因:我的版本是最新的webpack,所以有些命令不一样了

将以上代码修改为:

webpack ./src/main.js -o ./dist/bundle.js

(多了个 -o )

dist目录下成功生成bundle.js

在webpack目录中生成了package.json

然后在webpack目录中创建webpack.config.js

const path = require('path');

module.exports = {
 entry: './src/main.js',
 output: {
  path: path.resolve(__dirname, 'dist'),
  filename: 'bundle.js'
 }
}

output中的path要求输入绝对路径,path.resolve用来拼接路径,__dirname获取当前项目的绝对路径

接下来就可以使用webpack来进行打包,不再需要在打包时再加上入口文件和输出文件

最新版的写法是:

"dev": "webpack --mode deveplopment",
    "build": "webpack --mode production"

这样的话,webpack执行时默认会先找本地的webpack,再去找全局的webpack

通常项目中,除了安装全局的webpack,每个项目也会有独立的webpack,而刚才我们只安装了全局webpack,因此现在来安装下局部的

并且这个webpack包是开发时的依赖,因此加上--save-dev

cnpm install webpack --save-dev

知识点:只要是在命令行输入webpack,默认都是找的全局。如果是在package.json中添加的映射,默认是找的本地

webpack中使用css文件的配置

安装style-loader和css-loader

cnpm install style-loader --save-dev
cnpm install --save-dev css-loader

配置webpack.config.js

webpack-图片文件的处理

安装url-loader

cnpm install --save-dev url-loader

配置

module.exports = {
 module: {
 rules: [
  {
  test: /\.(png|jpg|gif)$/,
  use: [
   {
   loader: 'url-loader',
   options: {
    limit: 8192
   }
   }
  ]
  }
 ]
 }
}

【实际开发过程中,一般建议把limit设置成8kb】

注意,当图片大于limit中设置的尺寸时,需要安装file-loader

cnpm install file-loader --save-dev

webpack会把打包好的文件放到dist目录中,需要在webpack.config.js中使用publicPath指定文件的路径

webpack-HtmlWebpackPlugin的使用

打包html的plugin

cnpm install --save-dev html-webpack-plugin

配置

const HtmlWebpackPlugin = require("html-webpack-plugin");
...
 plugins: [
 new HtmlWebpackPlugin(),
 ],

运行npm run build,会在dist目录中生成index.html

package.json

此时打包后的文件会在build目录下的dist目录中,如果还是想生成到项目目录下的dist目录中,就需要修改base.config.js中的路径

总结

到此这篇关于webpack安装配置与常见使用过程详解(结合vue)的文章就介绍到这了,更多相关webpack安装配置使用内容请搜索来客网以前的文章或继续浏览下面的相关文章希望大家以后多多支持来客网!