1

我正在尝试从 Task Runner Explorer 构建我的项目。

使用 au run,项目从 cmd 运行良好。

生成的错误如下:

Failed to run "D:\Irshad\Practice\Aurelia\Demo\AureliaDemo2\Gulpfile.ts"...
cmd.exe /c gulp --tasks-simple
D:\Irshad\Practice\Aurelia\Demo\AureliaDemo2\gulpfile.js:1
(function (exports, require, module, __filename, __dirname) { define(["require", "exports", "gulp", "gulp-shell"], function (require, exports, gulp, gulp_shell_1) {
                                                              ^
ReferenceError: define is not defined
    at Object.<anonymous> (D:\Irshad\Practice\Aurelia\Demo\AureliaDemo2\gulpfile.js:1:63)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at execute (D:\Irshad\Practice\Aurelia\Demo\AureliaDemo2\node_modules\gulp\node_modules\gulp-cli\lib\versioned\^4.0.0-alpha.2\index.js:37:18)
    at Liftoff.handleArguments (D:\Irshad\Practice\Aurelia\Demo\AureliaDemo2\node_modules\gulp\node_modules\gulp-cli\index.js:173:63)

我在 Gulpfile.ts 中有以下代码

import * as gulp from 'gulp';
import shell from 'gulp-shell';

gulp.task('build-dev', shell.task(['au build --env dev']));

注意:我同时使用了 SystemJS 和 RequireJS 模块加载器。

我假设,问题很简单,我需要以某种方式告诉我在 tsconfig.json 或 package.json 或 ??? 中使用 SystemJS 加载程序

任何帮助表示赞赏。也许我应该提供更多细节,但无法证明什么。如果有任何上下文可以帮助解决上述问题,请发表评论。

谢谢。

4

2 回答 2

2

以防万一您仍然遇到此问题;

似乎全局安装的 gulp inC:\Users\{user}\AppData\Roaming\npm\node_modules是一个过时的版本,无论您在package.json.

在 node.js 命令提示符下,您可以使用以下命令全局卸载 gulp: npm uninstall gulp -g

正如我在我的项目中声明的那样,这实际上解决了问题。

但真正需要的是全局安装的 gulp 4;

npm install gulp@next -g

快乐编码!

于 2018-01-18T12:53:14.620 回答
1

在 Visual Studio 工具->选项->项目和解决方案->Web 包管理中。

将 $(Path) 移动到第一个索引已经解决了上述问题,可能是因为节点或其他独立安装和在 VS 中的版本问题。

但是在运行任务的后期仍然遇到另一个问题。

在此处输入图像描述

新的错误显然在下面,它是别的东西,任何人都可以指导一个好的阅读克服这些问题:

Failed to run "D:\Irshad\Practice\Aurelia\Demo\AureliaDemo2\Gulpfile.ts"...
cmd.exe /c gulp --tasks-simple
C:\Users\irshad.ali\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:147
  console.log(Object.keys(localGulp.tasks)
                     ^
TypeError: Cannot convert undefined or null to object
    at logTasksSimple (C:\Users\irshad.ali\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:147:22)
    at C:\Users\irshad.ali\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:124:14
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)
    at Module.runMain (module.js:606:11)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:504:3

我把这个写成答案,但不是市场作为答案,等待一个很好的答案。:)

于 2017-10-05T12:32:06.427 回答