《深入浅出 Webpack》笔记(使用 Plugin)

Plugin 是用来扩展 Webpack 功能的,通过在构建流程里注入钩子实现,它给 Webpack 带来了很大的灵活性。

const path = require("path");
const ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports =
{
    // JavaScript 执行入口文件
    entry: "./main.js",
    
    output:
    {
        // 把所有依赖的模块合并输出到一个名为 “bundle.js” 文件中
        filename: "bundle.js",

        // 输出文件都放到 dist 目录下
        path: path.resolve(__dirname, "./dist")
    },

    module:
    {
        rules:
        [
            {
                test: /\.css$/,

                loaders: ExtractTextPlugin.extract
                ({
                    // 读取 .css 文件需要的 loader
                    use: ["css-loader"]
                })
            }
        ]
    },

    plugins:
    [
        new ExtractTextPlugin
        ({
            // 从 .js 文件提取出来的 .css 文件的名称
            filename: `[name].css`
        })
    ]
};

从以上代码可以看出,Webpack 是通过 plugins 属性来配置需要使用的插件列表的。plugins 属性是一个数组,里面的每一项都是插件的一个实例。

例如 ExtractTextPlugin 插件的作用就是提取出 JavaScript 代码里的 CSS 到一个单独的文件。我们可以通过插件的 filename 属性告诉插件输出的 CSS 文件名称,里面的 [name] 代表文件的名称,[contenthash:8] 代表根据文件内容算出的 8 位哈希值,还有更多的选项配置可以在 ExtractTextPlugin 的主页上查到。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,227评论 7 35
  • 前言 WebPack 是什么? WebPack 是什么,WebPack 可以看做是模块打包机:它做的事情是,分析你...
    Promise__阅读 1,162评论 3 12
  • 最近在学习 Webpack,网上大多数入门教程都是基于 Webpack 1.x 版本的,我学习 Webpack 的...
    My_Oh_My阅读 8,204评论 40 247
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,710评论 7 110
  • 触碰到你的灵魂 却不是信仰 无家可归的流浪 迷离的路灯光 照不清下一步去往何方 也许是梦想的方向 也许是孤独的远方...
    夜鸢青阅读 207评论 0 0