今天看啥  ›  专栏  ›  🤔就是我

webpack配置--基础篇

🤔就是我  · 掘金  ·  · 2019-09-18 17:03
阅读 10

webpack配置--基础篇

webpack是一个模块打包工具,能够递归构建一个js模块的依赖关系,将模块最终打包成一个或多个文件.

安装

yarn add webpack webpack-cli
复制代码

零配置

webpack可以进行零配置,只是此时打包功能比较弱.执行:

npx webpack
复制代码

进行打包. 执行npx webpack默认查找node_modules---bin文件夹--webpack.cmd--执行../webpack/bin/webpack.js

手动配置

简单配置

let path = require('path');
module.exports = {
    mode: 'development', //模式:打包后的文件是否可见production/development
    entry: './src/index.js', // 入口,可以是相对路径
    output: { // 出口
        filename: 'bundle.[hash:8].js', // 打包后的文件名:+哈希(打包生成新的文件), :8指定哈希长度
        path: path.join(__dirname, 'build'), // 打包后的文件路径:必须是绝对路径
    }
};

复制代码

默认配置文件名为webapck.config.js

webpack-cli文件夹下的config-yarg.js文件指定,配置文件名为webpack.config.js 或 webpackfile.js

修改配置文件名

  • 方法一:
npx webpack --config webpack.config.name.js
复制代码
  • 方法二: 在package.json文件中配置脚本进行打包, 同时修改配置文件名
"scripts": {
    "build": "webpack --config webpack.config.my.js"
 }
 // 执行 npm run webpack进行打包
复制代码

当仅在package.json文件中配置脚本进行打包, 在执行命令中修改配置文件名时:

"scripts": {
    "build": "webpack"
 }
// 执行npm run build --  --config webpack.config.my.js 打包,注意两个--进行传参
复制代码

html插件

启动静态服务-webpack-dev-server

webpack-dev-server:启动了一个使用express的Http服务器

// webpack.config.js文件
devServer: { // 开发服务器配置,实现静态服务
    port: 3000, // 服务器启动端口
    progress: true, // 打包进度条
    contentBase: path.join(__dirname, './build'), // 指定静态服务目录
    compress: true, // 是否压缩
}

// package.json文件
"scripts": {
    "build": "webpack",
    "dev": "webpack-dev-server"
}
 
// 执行npm run dev运行静态服务,通过http://localhost:3000在浏览器中访问
复制代码

html-webpack-plugin

html-webpack-plugin:将打包后的js文件放在html中,将结果放在build目录下

// webpack.config.js文件
let HtmlWebpackPlugin = require('html-webpack-plugin');
plugins: [
    new HtmlWebpackPlugin({
        template: './src/index.html', // html模板文件
        filename: 'index.html', // 打包后的文件名称
        hash: true, // 添加哈希,避免缓存
        minify: { // 对html也进行压缩
            removeAttributeQuotes: true, // 删除双引号
            collapseWhitespace: true, // 折叠为一行
        }
    }),
],
复制代码



原文地址:访问原文地址
快照地址: 访问文章快照