InstallWebpackPlugin

免责声明: InstallWebpackPlugin 是由社区成员维护的第三方包,它可能不支持与 webpack 相同的支持、安全策略或许可证,并且它不受 webpack 维护。

npm deps test coverage chat

通过使用 Webpack 自动安装和保存依赖项来加速开发。

仅为安装你直到现在才知道自己需要的依赖项而Ctrl-C你的构建脚本和服务器是低效的。

相反,使用 requireimport 按照你通常的方式,在工作时将自动安装和保存丢失的依赖项

$ npm install --save-dev install-webpack-plugin

用法

在你的 webpack.config.js

plugins: [
  new InstallPlugin()
],

这相当于:

plugins: [
  new InstallPlugin({
    dependencies: {
      peer: true,
    },
    packageManager: {
      type: this.getDefaultPackageManager(),
      options: {
        dev: false,
        quiet: false,
      },
    },
    prompt: true,
  });
],

选项

依赖项

类型: Object

与依赖项相关的选项。

peer

类型: Boolean

默认: true

安装丢失的 peer 依赖项。

plugins: [
  new InstallPlugin({
    dependencies: {
      peer: true,
    }
  }),
],

packageManager

类型: 'npm' | 'yarn' | 'pnpm' | Object | Function

用于安装依赖项的包管理器。

plugins: [
  new InstallPlugin({
      packageManager: 'yarn'
    },
  }),
],

你可以向 packageManager 提供一个 Function 以使其动态

plugins: [
  new InstallPlugin({
    packageManager: function(module, path) {
      return [
        "babel-preset-react-hmre",
        "webpack-dev-middleware",
        "webpack-hot-middleware",
      ].indexOf(module) !== -1;
    },
  }),
],

type

类型: 'npm' | 'yarn' | 'pnpm'

用于安装依赖项的包管理器的名称。

options

类型: Object

与包管理器相关的选项。

arguments

类型: Array

提供要与包管理器一起使用的自定义参数。

plugins: [
  new InstallPlugin({
      packageManager: {
        type: 'npm',
        options: {
          arguments: ['--ignore-scripts']
        }
      }
    },
  }),
],

开发

类型: Boolean

默认值:false

作为开发依赖项安装。

plugins: [
  new InstallPlugin({
      packageManager: {
        type: 'npm',
        options: {
          dev: true,
        }
      }
    },
  }),
],

安静

类型: Boolean

默认值:false

减少控制台日志记录的数量。

plugins: [
  new InstallPlugin({
      packageManager: {
        type: 'npm',
        options: {
          quiet: true,
        }
      }
    },
  }),
],

提示

类型: Boolean

默认: true

显示一个提示以确认安装。

plugins: [
  new InstallPlugin({
      prompt: true,
    },
  }),
],

演示

install-webpack-plugin demo

功能

  • 适用于 webpack ^v5.0.0
  • 自动安装 .babelrc 插件和预设。
  • 同时支持 ES5 和 ES6 模块。(例如 requireimport
  • 支持命名空间包。(例如 @cycle/dom
  • 支持点分隔包。(例如 lodash.capitalize
  • 支持 CSS 导入。(例如 @import "~bootstrap"
  • 支持 webpack 加载器。(例如 babel-loaderfile-loader 等)
  • 支持内联 webpack 加载器。(例如 require("bundle?lazy!./App"
  • 自动安装缺失的 peerDependencies。(例如 @cycle/core 将自动安装 rx@*
  • 支持 webpack 的 resolve.aliasresolve.root 配置。(例如 require("react") 可以别名为 react-lite

贡献

如果您尚未阅读我们的贡献指南,请花点时间阅读。

贡献