Visual Studio 2017,Task Runner Explorer无法加载模块

时间:2017-10-05 09:40:37

标签: node.js gulp visual-studio-2017 aurelia task-runner-explorer

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

项目从cmd运行正常,使用au run。

产生的错误如下:

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加载器或???

感谢任何帮助。可能是我应该提供更多细节,但无法证明是什么。如果任何上下文有助于解决上述问题,请发表评论。

感谢。

2 个答案:

答案 0 :(得分:2)

万一你仍然遇到这个问题;

C:\Users\{user}\AppData\Roaming\npm\node_modules中全局安装的gulp似乎是一个过时的版本,无论您在package.json中定义了什么,这都是任务运行器运行的地方。

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

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

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

npm install gulp@next -g

快乐的编码!

答案 1 :(得分:0)

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

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

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

enter image description here

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

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

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