使用webstorm,已经设置为es6语法了。
定义了一个类:definedClasses.js
class Person {
constructor(name, age) {
this.name = name
this.age = age
}
eat(food) {
console.info('info', `${this.name} is eating ${food}`)
}
}
export default Person
然后,另一个文件do.js引入它:
import Person from './definedClasses'
function appp () {
let person = new Person('tom', 33);
person.eat('shits');
}
appp();
然后,却说。
import Person from './definedClasses'
^^^^^^
SyntaxError: Unexpected identifier
at new Script (vm.js:80:7)
at createScript (vm.js:274:10)
at Object.runInThisContext (vm.js:326:10)
at Module._compile (internal/modules/cjs/loader.js:664:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
at startup (internal/bootstrap/node.js:283:19)
ES6是语法规范, JS引擎是实现, 需要JS引擎支持才真支持
所以请检测执行环境是否支持ES6, 目前node环境是不支持该语法, 但是支持
require('pkg')
的方式./definedClasses
里面也需要修改