$ 未在 Gulp 任务中定义

$ is not defined in Gulp task

我有以下 package.json 文件:

{
  "name": "ASP.NET",
  "version": "1.0.0",
  "devDependencies": {
    "gulp": "3.8.11",
    "gulp-inject": "1.5.0",
    "gulp-util": "3.0.6",
    "gulp-print": "1.1.0",
    "gulp-cssmin": "0.1.7",
    "gulp-uglify": "1.2.0",
    "gulp-load-plugins": "0.9.0",
    "del": "1.2.0",
    "wiredep": "3.0.0-beta",
    "jshint": "2.8.0",
    "jshint-stylish": "2.0.1"
  }
}

var gulp = require('gulp'),
    util = require('gulp-util'),
    print = require('gulp-print'),
    inject = require('gulp-inject'),
    del = require('del'),
    cssmin = require('gulp-cssmin'),
    jshint = require('gulp-jshint')
    uglify = require('gulp-uglify'),
    wiredep = require('wiredep').stream,
    bowerJson = require('./bower.json')
    gulp = require('gulp'),
    project = require('./project.json');

gulp.task('wiredep', function () {
    log('Placing Bower Components from ' + paths.bowerComponents + ' in ' + paths.layoutPage)
    return gulp
        .src(paths.layoutPage)
        .pipe(wiredep({
            bowerJson: bowerJson,
            directory: paths.bowerComponents,
            ignorePath: '../..'
        }))
        .pipe($.inject(gulp.src([
            paths.jsMain,
            paths.jsContent])))
        .pipe(gulp.dest(paths.layoutPage));
});

当我 运行 这个任务 bower.json 我得到错误:

[16:11:31] Using gulpfile C:\MyProject\src\MyProject\Gulpfile.js
[16:11:31] Starting 'wiredep'...
[16:11:31] Placing Bower Components from ./bower_components/ in ./Views/Shared/_Layout.cshtml
[16:11:31] 'wiredep' errored after 5.7 ms
Process terminated with code 1.
[16:11:31] ReferenceError: $ is not defined

为什么 $ 没有定义,我怎样才能定义它?

我尝试将 "jquery": "2.1.4", 添加到 package.json 中的 devDependencies。

通过阅读gulp-inject documentation的gulpfile.js部分,我发现我不需要在它前面放一个$。要求注入并直接引用它。例如,

var inject = require('gulp-inject'),

gulp.task('inject', ['wiredep'], function () {
    log('Wire up the css and js into ' + paths.layoutPage);
    return gulp
        .src(paths.layoutPage)
        .pipe(inject(gulp.src([paths.js, paths.css], { read: false }), { ignorePath: project.webroot }))
        .pipe(gulp.dest(paths.layoutPagePath));
});

直接用$我觉得可以用var $ = require('jquery')加上jquery到package.json。如果我错了,请纠正我。

刚才我的项目也发生了这个phenomenon.Last我发现gulp缺少一个名为'gulp-load-plugins'的插件; 安装后,我们应该声明将 package.json 中的所有插件放入 $ 字符;它是 var $=require('gulp-load-plugins')();