【问题标题】:gulp-load-plugins not loading pluginsgulp-load-plugins 不加载插件
【发布时间】:2015-05-31 02:00:45
【问题描述】:

gulp-load-plugins 没有加载任何插件。任何人都可以提出为什么会这样吗?

Node: v0.12.0
NPM: v2.7.3

我的package.json

{
  "name": "foo",
  "version": "0.0.1",
  "dependencies": {},
  "devDependencies": {
    "gulp": "^3.8.11",
    "gulp-load-plugins": "^0.9.0"
  }
}

我的gulpfile.js

var gulp = require('gulp');
var gulpLoadPlugins = require('gulp-load-plugins');
var plugins = gulpLoadPlugins();

console.log(JSON.stringify(plugins)); // {}

gulp.task('default');

【问题讨论】:

    标签: javascript gulp gulp-load-plugins


    【解决方案1】:

    安装其他 gulp 插件。

    tl;dr

    如果那是你完整的 package.json,看起来你没有安装其他 gulp 插件。

    假设以下是您的package.json

    package.json

    {
      "name": "foo",
      "version": "0.0.1",
      "dependencies": {},
      "devDependencies": {
        "gulp": "^3.8.11",
        "gulp-load-plugins": "^0.9.0",
        "gulp-rename": "^1.2.0",
        "gulp-concat": "^2.5.2"
      }
    }
    

    $ npm install 一切,然后...

    gulpfile.js

    var gulp = require('gulp');
    var gulpLoadPlugins = require('gulp-load-plugins');
    var plugins = gulpLoadPlugins();
    
    // `plugins.rename` should exist
    // `plugins.concat` should exist
    
    console.log(JSON.stringify(plugins));
    
    gulp.task('default');
    

    【讨论】:

    • 我建议 console.log(Object.keys(plugins));而不是炸毁您的控制台并获取已加载内容的列表。
    【解决方案2】:

    尝试将延迟加载设置为 false。

    var gulp = require('gulp');
    var plugins= require('gulp-load-plugins')({lazy:false});
    
    console.log(JSON.stringify(plugins));
    
    gulp.task('default');
    

    正如其他人所说,安装一些插件。

    【讨论】:

      【解决方案3】:

      让我告诉你我有什么以及我是如何做到的,也许这会有所帮助。

      我的package.json

      {
        "dependencies": {
          "gulp": "*",
          "gulp-autoprefixer": "*",
          "gulp-html-validator": "0.0.5",
          "gulp-image-optimization": "^0.1.3",
          "gulp-plumber": "*",
          "gulp-rev-collector": "^0.1.4",
          "gulp-rev-manifest-replace": "0.0.5",
          "gulp-ruby-sass": "*",
          "gulp-sass": "*",
          "gulp-scss-lint": "^0.1.10",
          "gulp-sourcemaps": "*",
          "imagemin-optipng": "^4.2.0",
          "imagemin-pngquant": "^4.0.0",
          "vinyl-paths": "^1.0.0"
        },
        "devDependencies": {
          "del": "^1.1.1",
          "gulp-cached": "^1.0.4",
          "gulp-concat": "^2.5.2",
          "gulp-cssmin": "^0.1.6",
          "gulp-filesize": "0.0.6",
          "gulp-gzip": "^1.0.0",
          "gulp-htmlhint": "0.0.9",
          "gulp-htmlmin": "^1.1.1",
          "gulp-if": "^1.2.5",
          "gulp-imagemin": "^2.2.1",
          "gulp-load-plugins": "^0.8.0",
          "gulp-rename": "^1.2.0",
          "gulp-rev": "^3.0.1",
          "gulp-uglify": "^1.1.0",
          "gulp-useref": "^1.1.1",
          "gulp-webserver": "^0.9.0",
          "run-sequence": "^1.0.2"
        }
      }
      

      我如何运行gulp-load-plugins

       'use strict';
          var gulp = require('gulp'),
                $ = require('gulp-load-plugins')({
                  pattern: ['gulp-*', 'gulp.*'],
                  replaceString: /\bgulp[\-.]/,
                  lazy: true,
                  camelize: true
                }),
      

      这是一个插件的例子:

       // html optimization 
            gulp.task('htmloptimize', function () {
                return gulp.src(dev.html) 
                  .pipe($.htmlmin({
                    collapseWhitespace: true
                  }))
                  .pipe(gulp.dest(dist.dist))
            });
      

      你可以看到我所有的管道都被称为 .pipe($.plugin()) 意思是 $ 代表 gulp- 。如果你有一个名为 gulp-name-secondname 的插件,你可以这样称呼它: .pipe($.nameSecondname()) 。

      如果我需要 gulp-load-plugins 我已将 camelize 设置为 true 。延迟加载仅加载您使用的插件,而不是全部。

      小心 gulp-load-plugins 因为它会减慢你的任务,例如我运行 gulp-webserver ,当我将它与 gulp-load-plugins 一起使用时,如果我正常使用它,任务会在 200 毫秒后完成,而 20 毫秒。所以不要对所有东西都使用,玩它看看你在每项任务上损失了多少性能并确定优先级。

      【讨论】:

        猜你喜欢
        • 2015-06-19
        • 2015-04-06
        • 1970-01-01
        • 2016-05-23
        • 2015-01-29
        • 2018-04-20
        • 2019-04-29
        • 1970-01-01
        • 2017-07-02
        相关资源
        最近更新 更多