未在Gulp任务中定义$
我有以下package.json文件:未在Gulp任务中定义$,gulp,asp.net-core,gulp-inject,Gulp,Asp.net Core,Gulp Inject,我有以下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",
{
"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]使用gulpfile C:\MyProject\src\MyProject\gulpfile.js[16:11:31]正在启动“wiredep”…
[16:11:31]从./Bower\u Components/in../Views/Shared/\u Layout.cshtml放置Bower组件
[16:11:31]“wiredep”在5.7毫秒后出错
进程以代码1终止。
[16:11:31]引用错误:$未定义
为什么未定义$以及如何定义它
我尝试的是在package.json的devdependences中添加
“jquery”:“2.1.4”
。通过阅读文件的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。如果我错了,请纠正我。刚才我的项目也出现了这种现象。上次我发现gulp缺少一个名为“gulp load plugins”的插件;
在安装之后,我们应该声明它,将package.json中的所有插件放入$character;它是var$=require('gulp-load-plugins')()