【发布时间】:2017-04-28 13:28:01
【问题描述】:
如果你运行 gulp,你会得到以下错误信息。
是否没有安装 gulpfile 所需的模块? ..
$ gulp
[22:17:15] Failed to load external module ts-node/register
[22:17:15] Failed to load external module typescript-node/register
[22:17:15] Failed to load external module typescript-register
[22:17:15] Failed to load external module typescript-require
C:\project\interview\gulpfile.ts:1
(function (exports, require, module, __filename, __dirname) { import * as gulp f rom 'gulp';
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
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 Liftoff.handleArguments (C:\Users\admin\AppData\Roaming\npm\node_modules\gu lp\bin\gulp.js:116:3)
【问题讨论】:
-
对目标节点使用
--module commonjs,包括通过ts-node运行时 -
看起来你使用的是由 ts-node 动态编译的
gulpfile.ts。这很好,但您需要通过 Typescript 或通过另一个中间编译器来定位 NodeJS 的模块系统(CommonJS 的衍生产品)才能使其工作。您正在使用--module es2015输出gulpfile,可能是通过一个位于同一位置的 tsconfig.json 文件。
标签: node.js typescript gulp