NpmInstallWebpackPlugin
npm-install-webpack-plugin
使用 Webpack 通过自动安装和保存依赖关系来提升开发速度。
特性
- [x] 能在Webpack 
^v1.12.0和^2.1.0-beta.0下工作 - [x] 自动安装 
.babelrc插件 & 预设。 - [x] 支持ES5和ES6模块。
(e.g. 
require,import) - [x] 支持命名空间包。
(e.g. 
@cycle/dom) - [x] 支持点分隔包。
(e.g. 
lodash.capitalize) - [x] 支持CSS导入。
(e.g. 
@import "~bootstrap") - [x] 支持Webpack加载器(loader)。
(e.g. 
babel-loader,file-loader, 等) - [x] 支持内联Webpack加载器(loader).
(e.g. 
require("bundle?lazy!./App") - [x] 自动安装缺少的 
peerDependencies。 (e.g.@cycle/core会自动安装rx@*) - [x] 支持Webpack的 
resolve.alias和resolve.root配置。 (e.g.require("react")可以别名为react-lite) 
Why?
它吸食Ctrl-C你的构建脚本和服务器只是为了安装一个依赖关系,你不知道你现在是否需要。
相反,使用 require 或 import 可以正常使用,并且npm install将自动安装和保存缺失的依赖关系,而正常工作!
Installation
$ npm install --save-dev npm-install-webpack-plugin
用法
在你的 webpack.config.js 中:
plugins: [
  new NpmInstallPlugin();
],
相当于:
plugins: [
  new NpmInstallPlugin({
    // 使用 --save 或 --save-dev
    dev: false,
    // 安装缺失的依赖
    peerDependencies: true,
    // 降低控制台日志记录的数量
    quiet: false,
  });
],
您可以提供一个Function给dev,以使其动态:
plugins: [
  new NpmInstallPlugin({
    dev: function(module, path) {
      return [
        "babel-preset-react-hmre",
        "webpack-dev-middleware",
        "webpack-hot-middleware",
      ].indexOf(module) !== -1;
    },
  }),
],
License
MIT License 2016 © Eric Clemmons
