如果您运行 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)

最佳答案

要使 gulp 与 ES6 导入一起工作,您需要做 3 件事:

  • gulpfile.ts/gulpfile.js 重命名为 gulpfile.babel.ts/gulpfile.babel.js
  • 运行这个命令:
  • npm i @babel/preset-env @babel/register -D
    
  • .babelrc 文件添加到项目的根文件夹中,其中包含以下代码:
  • {
      "presets": [
        "@babel/preset-env"
      ]
    }
    
    

    您现在应该可以在 Gulp 文件中使用 ES6 导入了。

    关于node.js - 语法错误 : Unexpected token import - import * as gulp from 'gulp' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43681396/

    10-11 07:17