在尝试使用JS ES6时意外令牌{



我是否使用了一些包的错误版本,或者你可以给我一个链接到详细的教程或codependency,这个语法结构不会给我一个错误?

我得到这个错误:

$ gulp
D:GITproject02gulpfile.js:20
const { COMPATIBILITY, PORT, UNCSS_OPTIONS, PATHS } = loadConfig();
      ^
SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:413:25)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at execute (C:Documents and SettingsAdministratorApplication Datanpmnode_modulesgulp-clilibversioned^4.0.0-alpha.2index.js:36:18)
    at Liftoff.handleArguments (C:Documents and SettingsAdministratorApplication Datanpmnode_modulesgulp-cliindex.js:172:63)
    at Liftoff.<anonymous> (C:Documents and SettingsAdministratorApplication Datanpmnode_modulesgulp-clinode_modulesliftoffindex.js:198:16)

我已经读过这个问题,但是'use strict';在我的gulpfile中,并且将const更改为let对我不起作用。

我的全局安装包:

$ npm -g ls --depth=0
C:Documents and SettingsAdministratorApplication Datanpm
├── babel-cli@6.14.0
├── babel-core@6.14.0
├── babel-preset-es2015@6.14.0
├── bower@1.7.9
├── gulp-babel@6.1.2
└── gulp-cli@1.2.2 (git://github.com/gulpjs/gulp-cli.git#9b053ed9b7a63a10777c33b86b04ed38d7f5b840)

我的节点是v4.0.0和gulp,我在项目中使用:

$ gulp -v
[14:15:06] CLI version 1.2.2
[14:15:06] Local version 4.0.0-alpha.2

正如Konstantin已经说过的,并不是所有ES6特性都可以在Gulpfile中使用,因为node必须处理这些文件。但是有一种简单的方法可以通过使用babel-require钩子来实现。

创建一个这样的Gulpfile:

'use strict';
// Compile task to ES5 on the fly!
require('babel-register');
// Require all tasks!
require('require-dir')('./tasks', { recurse: true });

并将任务放在tasks目录中。然后创建一个.babelrc文件来加载预设,例如

{
    "presets": ["node5"]
}

当您使用node v5.x时。现在你可以使用ES6的特性了!:)

析构是ES6的特性,从Node v6开始正式支持。所以你应该替换:

const { COMPATIBILITY, PORT, UNCSS_OPTIONS, PATHS } = loadConfig();

:

const config =  loadConfig(),
      COMPATIBILITY = config.COMPATIBILITY,
      PORT = config.PORT,
      UNCSS_OPTIONS = config.UNCSS_OPTIONS,
      PATHS = config.PATHS

或者更新Node版本

相关内容

  • 没有找到相关文章

最新更新