SyntaxError:意外的令牌导入 - 从'gulp'导入*作为gulp

时间:2017-04-28 13:28:01

标签: node.js typescript gulp

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

2 个答案:

答案 0 :(得分:2)

要使gulp与ES6导入配合使用,您需要做三件事:

  1. gulpfile.ts / gulpfile.js重命名为gulpfile.babel.ts / gulpfile.babel.js

  2. 运行此命令:

npm i @babel/preset-env @babel/register -D
  1. 在项目的根文件夹中添加一个.babelrc文件,其中包含以下代码:
{
  "presets": [
    "@babel/preset-env"
  ]
}

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

答案 1 :(得分:0)

1)在您的Projekt文件夹中创建一个“ .babelrc”文件(所有其他配置文件也在其中)

  • 代码(.babelrc)

    { "presets": ["es2015"] }

2)在您的NPM中设置/安装Babel(请参阅https://babeljs.io/setup)。例如与节点:

npm install babel-preset-env --save-dev