美文网首页
webpack插件配置(1)

webpack插件配置(1)

作者: 叶小七的真命天子 | 来源:发表于2018-07-12 15:42 被阅读459次

    1、webpack.DefinePlugin

    定义:webpack配置的全局标识变量,配置之后可以在项目中直接使用该变量
    需要注意的是,配置的变量的值必须使用单引号包双引号,或者双引号包单引号,不然会导致报错

    // webpack.config.js
    {
    entry:'',
    ...  //其他配置
    plugins: [
        new webpack.DefinePlugin({
          'processEnv': '"development"'
        }),
      ]
    }
    

    上面webpack配置文件中配置了plugins,传入了一个对象参数,对象中processEnv的值为‘“ development”’,即以后再项目中可以直接只用改变量进行逻辑处理。实例如下:

    // main.js
    if(processEnv==='development'){
      // 开发环境你需要做的事情
      console.log(‘这个是我通过webpack配置的全局标识’)
    }
    

    2、html-webpack-plugin

    描述:提供HTML自动创建的插件,会将编译好的js文件内嵌进HTML中。

    使用方法:

    • 安装 yarn add html-webpack-plugin
    • webpack配置文件中引用并实例化放入plugins中
    // webpack.config.js
    const HtmlWebpackPlugin = require('html-webpack-plugin')
    {
    entry:'',
    ...  //其他配置
    plugins: [
        new HtmlWebpackPlugin({})
      ]
    }
    

    Options

    HtmlWebpackPlugin的构造器可传入对象参数Options,进行多种配置,我上面的代码传入为空,即自动生成它自己的HTML模板文件,其他配置采用默认方式。你也可以使用自己的模板来生成HTML文件:

    plugins: [
        new HtmlWebpackPlugin({
          filename: 'index.html',
          template: 'src/index.html',
          inject: true
        })
      ]
    

    ,具体配置自动如下:

    Name Type Default Description
    title {String} Webpack App 配置生成的index.html文档中的title属性
    filename {String} 'index.html' 自己设置生成的HTML文件名称
    template {String} `` 配置模板文件,webpack以此模板生成html文件,需要传入模板文件的路径
    templateParameters {Boolean|Object|Function} `` Allows to overwrite the parameters used in the template
    inject {Boolean|String} true true || 'head' || 'body' || false配置静态资源注入位置, 当配置为 true 或者 'body'时 所有的JavaScript脚步文件将被放置在body元素最底部,当设置为head的时候,脚步将被注入在head标签中
    favicon {String} `` Adds the given favicon path to the output HTML
    meta {Object} {} Allows to inject meta-tags. E.g. meta: {viewport: 'width=device-width, initial-scale=1, shrink-to-fit=no'}
    minify {Boolean|Object} false Pass html-minifier's options as object to minify the output
    hash {Boolean} false If true then append a unique webpack compilation hash to all included scripts and CSS files. This is useful for cache busting
    cache {Boolean} true Emit the file only if it was changed
    showErrors {Boolean} true Errors details will be written into the HTML page
    chunks {?} ? Allows you to add only some chunks (e.g only the unit-test chunk)
    chunksSortMode {String|Function} auto Allows to control how chunks should be sorted before they are included to the HTML. Allowed values are 'none' | 'auto' | 'dependency' | 'manual' | {Function}
    excludeChunks {Array.<string>} `` Allows you to skip some chunks (e.g don't add the unit-test chunk)
    xhtml {Boolean} false If true render the link tags as self-closing (XHTML compliant)

    3、Friendly-errors-webpack-plugin

    描述:Friendly-errors-webpack-plugin识别某些类型的webpack错误并清理,聚合和优先级,以提供更好的开发人员体验,当其捕捉到异常之后会在控制台和web页面进行打印。

    使用方法:

    // webpack.config.js
    const HtmlWebpackPlugin = require('html-webpack-plugin')
    {
    entry:'',
    ...  //其他配置
    plugins: [
        new FriendlyErrorsPlugin()
      ]
    }
    
    image.png

    相关文章

      网友评论

          本文标题:webpack插件配置(1)

          本文链接:https://www.haomeiwen.com/subject/ollrpftx.html