【发布时间】:2017-05-26 09:41:06
【问题描述】:
VS Code 无法将 :: 识别为有效语法,如
render() {
return (
<button
className="btn btn-primary"
onClick={::this.handleClick}>
Click me
</button>
);
}
它突出显示 :: 并显示错误 [js] identifier expected,从而使整个文件无效。
如何解决这个问题的想法 - 让 VS Code 尊重 ES6 语法?
【问题讨论】:
-
::不是 ES6 的一部分。这是一个实验性功能:github.com/tc39/proposal-bind-operator。它是第 0 阶段,所以它甚至可能永远不会进入规范。 -
它被包括 Babel 在内的 ES6 到 ES5 编译器支持,并且被广泛用于各种 ES6 示例,这就是为什么我认为这是一个标准功能
-
是的,Babel 有一些用于 0 阶段提案的插件 (babeljs.io/docs/plugins/preset-stage-0),但您必须明确选择加入它(实际上与 Babel 中的所有内容一样)。这并不是说没有办法让它工作(我对 VS 一无所知),但也有可能是不可能的。
-
对我来说这个答案很有效:stackoverflow.com/questions/36327096/…
标签: javascript ecmascript-6 visual-studio-code syntax-highlighting