Javascript ECMAscript 6 无法使用导入类运行脚本



我学习Selenium Webdriver。我不能使用导入类运行脚本,但我可以在没有类的情况下运行它,只需使用导入功能即可。我像这样用 babel-cli 运行它node ./babel-cli/bin/babel-node.js --presets node6 ./test.js

//test.js
import homePage from "./home_page"
var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;
var driver = new webdriver.Builder()
    .forBrowser('firefox')
    .build();
home_page = new homePage(driver);
home_page.go_home_page();
//home_page.js
export default class homePage{
    constructor(driver){
        this.driver = driver;
    }
     go_home_page = function(){
        this.driver.get("https://www.google.com/");
    }
}

错误是:home_page.js: Unexpected token (5:15)

Node 最初是使用 CommonJS 模块构建的,过渡到 ES2015 模块并不容易。

您的示例同时使用两者:import是 ES2015,require是 CommonJS。如果您将import更改为require它应该可以工作。

import的 CommonJS 等效项应如下所示:

var homePage = require('./home_page');

es6 需要使用 babel 进行转译。 您需要在包 JSON 文件中包含 babel。

最新更新