gulp - 如何在没有“原始未定义”和“断言错误”错误的情况下吞下任务
问题描述
今天我试图在 Tomcat8 上的 Web 应用程序项目文件夹中吞下一个任务。我得到了一个网络应用程序的源代码,我正在尝试对其进行自定义。
我知道我要向您展示的错误有多种解释,但总是关于从 V3.9.1 切换到 V4.0.2 以及从 V4.0.2 切换到 V3.9.1 我的 gulp 版本。而且我在两者上都遇到了不同的问题:D
V3.9.1 吞咽:
C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master>gulp
fs.js:27
const { Math, Object } = primordials;
^
ReferenceError: primordials is not defined
at fs.js:27:26
at req_ (C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master\node_modules\natives\index.js:143:24)
at Object.req [as require] (C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master\node_modules\natives\index.js:55:10)
at Object.<anonymous> (C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master\node_modules\vinyl-fs\node_modules\graceful-fs\fs.js:1:37)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:681:19)
at require (internal/modules/cjs/helpers.js:16:16)
C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master>gulp -v
CLI version: 2.2.0
Local version: 3.9.1
V4.0.2 吞咽
AssertionError [ERR_ASSERTION]: Task function must be specified
at Gulp.set [as _setTask] (C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master\node_modules\undertaker\lib\set-task.js:10:3)
at Gulp.task (C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master\node_modules\undertaker\lib\task.js:13:8)
at Object.<anonymous> (C:\Users\Administrator\Documents\Source code for Apache\pa-downtime-uApp-master\gulpfile.js:18:6)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:681:19)
at require (internal/modules/cjs/helpers.js:16:16)
at execute (C:\Users\Administrator\AppData\Roaming\npm\node_modules\gulp-cli\lib\versioned\^4.0.0\index.js:36:18) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '=='
}
任务脚本
我还想知道为什么在我的任务脚本中没有任务名称……我想在“gulp”之后尝试使用任务名称的命令。当我检查其他任务文件时,总是有一个任务名称:
'use strict';
const gulp = require('gulp'),
war = require('gulp-war'),
zip = require('gulp-zip'),`enter code here`
path = require('path');
module.exports = function (gulp) {
return function () {
return gulp.src('dist/bundled/**')
.pipe(war({
welcome: 'index.html',
displayName: 'downtime-app',
}))
.pipe(zip('downtime-app.war'))
.pipe(gulp.dest('dist/'));
};
};
对不起,如果我说任何错误,我是一个完全的初学者,甚至不知道 1 周前的 HTML 是什么...... :)
解决方案
如果您使用的是 gulp 3 .. 和节点 12+ => 它会给出错误。
卸载它并使用节点11 .. 用吞咽 3 . .
推荐阅读
- android - Coinbase oauth 2.0 重定向 uri android
- node.js - MAC - NPM - VSTS - 将注册表和令牌插入全局 npmrc 文件
- docker - 访问在 Docker For Desktop 中本地运行的 Kubernetes 服务?
- dialog - 显示工作表时,NSheet 控制器不会运行。
- html - 使用 flexbox 将我的徽标设置在左侧,将导航菜单设置在右侧
- python - Keras 模型溢出未知错误 | (IndexError:列表索引超出范围)
- elasticsearch - 在嵌套对象中追加数据
- regex - 从一个元素中获取文本,在另一个元素中显示
- c# - 将登录页面添加到 Swagger
- mysql - 占用所有 CPU 的 ubuntu .syslogs 后台进程