如下面的屏幕截图所示,我无法运行gulp来连接JavaScript文件。据说gulp is not defined。
我尝试过以下命令:
npm install -g gulp
npm install gulp
npm install gulp --save-dev我还设置了如下环境变量:
C:\Users\<user>\AppData\Roaming\npm;C:\Python27;C:\Users\<user>\AppData\Roaming\npm\node_modules;C:\Users\<user>\AppData\Roaming\npm\node_modules\gulp;

var concat = require('gulp-concat');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
//script paths
var jsFiles = 'scripts/*.js',
jsDest = 'dist/scripts';
gulp.task('scripts', function() {
return gulp.src(jsFiles)
.pipe(concat('scripts.js'))
.pipe(gulp.dest(jsDest));
});发布于 2016-09-19 15:18:33
您只需在本地安装并需要gulp,您可能只在全局范围内安装了它
在命令行中
cd <project-root> && npm install --save-dev gulp在你的gulpfile.js中
var gulp = require('gulp'); 这是与命令行依赖项(全局安装的)不同的依赖项。更具体地说,它是相同的NPM包,但命令行程序通常会从NPM包中的不同入口点执行代码,而不是从要求(‘X’)返回的入口点执行代码。
如果我们转到Github上的Gulp项目中的package.json文件,它将讲述整个故事:
{
"name": "gulp",
"description": "The streaming build system",
"version": "3.9.1",
"homepage": "http://gulpjs.com",
"repository": "gulpjs/gulp",
"author": "Fractal <contact@wearefractal.com> (http://wearefractal.com/)",
"tags": [ ],
"files": [
// ...
],
"bin": {
"gulp": "./bin/gulp.js"
},
"man": "gulp.1",
"dependencies": {
// ...
},
"devDependencies": {
// ...
},
"scripts": {
"prepublish": "marked-man --name gulp docs/CLI.md > gulp.1",
"lint": "eslint . && jscs *.js bin/ lib/ test/",
"pretest": "npm run lint",
},
"engines": {
"node": ">= 0.9"
},
"license": "MIT"
}因此,在命令行中:
$ gulp default将执行以下命令:
"bin": {
"gulp": "./bin/gulp.js"
},另一方面,代码中的require('gulp')将返回以下内容的值:
https://github.com/gulpjs/gulp/blob/master/index.js通常,我们在package.json文件中看到这一点:
"main": "index.js"但由于这是默认的,他们只是省略了它(这是愚蠢的IMO,最好是明确的,但他们不是我见过的第一个采用蹩脚的速记路线的项目)。
发布于 2016-09-19 15:21:28
它发生在Windows上,通常使用以下方法之一进行修复:
如果你没有,在项目文件夹中运行npm install gulp,即使你已经安装了globally.
"exec_args":{“路径”:"/bin:/usr/bin:/usr/local/bin“}
希望一切都好。
https://stackoverflow.com/questions/39567353
复制相似问题