关于webpack:webpack学习笔记

89次阅读

共计 1266 个字符,预计需要花费 4 分钟才能阅读完成。

首先,来个官网文档对 webpack 的定义:
webpack 是代码编译工具,有入口、进口、loader 和插件。webpack 是一个用于古代 JavaScript 应用程序的动态模块打包工具。当 webpack 解决应用程序时,它会在外部构建一个依赖图 (dependency graph),此依赖图对应映射到我的项目所需的每个模块,并生成一个或多个 bundle。
webpack 的外围价值就是前端源码的打包,行将前端源码中每一个文件(无论任何类型)都当做一个 pack,而后剖析依赖,将其最终打包出线上运行的代码。

webpack 的四个外围局部:

  • entry 规定入口文件,一个或者多个
  • output 规定输入文件的地位
  • loader 各个类型的转换工具
  • plugin 打包过程中各种自定义性能的插件

那么,webpack 在日常工作中,是如何配置的呢?

通常状况下,webpack 的配置文件在我的项目内会分为:

  • webpack.common.js
  • webpack.dev.js
  • webpack.prod.js

别离代表专用配置,开发环境配置,线上环境配置。
接下来,将按这三个文件来解说如何配置,局部基础知识和要点会写在正文中,要晓得全副配置内容,倡议查看官网文档:https://www.webpackjs.com/con…

webpack.common.js:

const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const srcPath = path.join(__dirname, '..', 'src')

module.exports = {entry: path.join(srcPath, 'index.js'),
           // 以该门路下的 index.js 作为构建的开始进入入口终点后,//webpack 会找出有哪些模块和库是入口终点(间接和间接)依赖的
    module: {
        rules: [
            {
                test: /\.js$/,
                loader: ['babel-loader'], // 应用哪个 loader 来解决文件
                include: srcPath,
                exclude: /node_modules/
                //test,include,exclude 都是拿来匹配哪些文件须要被 loader 解决的,// 优先级是 exclude > include > test
            },
            {
                test: /\.css$/,
                // loader 的执行程序是:从后往前
                loader: ['style-loader', 'css-loader', 'postcss-loader'] 
                // 加了 postcss
            },
            {
                test: /\.less$/,
                // 减少 'less-loader',留神程序
                loader: ['style-loader', 'css-loader', 'less-loader']
            }
        ]
    },
    plugins: [
        new HtmlWebpackPlugin({template: path.join(srcPath, 'index.html'),
            filename: 'index.html'
        })
    ]
}

正文完
 0