量角器/打字稿(es6):语法错误:无法在模块外部使用import语句 [英] Protractor / Typescript (es6): SyntaxError: Cannot use import statement outside a module

查看:74
本文介绍了量角器/打字稿(es6):语法错误:无法在模块外部使用import语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在从量角器"导入 import {浏览器}时出错,并抛出 SyntaxError:无法在模块外部使用import语句 在命令行中.

I'm having an error in import { browser } from "protractor"; and throwing SyntaxError: Cannot use import statement outside a module in command line.

我正在使用打字稿,摩卡咖啡和量角器.

I'm using typescript, mocha and protractor.

这是 mochaOpts :

mochaOpts: {
    bail: false,
    ui: 'bdd', 
    reporter: 'spec',
    compiler: 'ts:ts-node/register'
},

这是package.json中的依赖项:

Here's the dependencies in package.json:

"dependencies": {
   "@babel/cli": "^7.7.4",
   "@babel/preset-env": "^7.7.4",
   "@babel/register": "^7.7.4",
   "@types/mocha": "^7.0.1",
   "@types/node": "^13.7.6",
   "chai": "^4.2.0",
   "chai-as-promised": "^7.1.1",
   "graphviz": "0.0.9",
   "lodash": "^4.17.15",
   "minimist": "^1.2.0",
   "mocha": "^6.2.2",
   "npm-failsafe": "^0.4.1",
   "protractor": "^5.4.2",
   "rimraf": "^2.7.1",
   "ts-node": "^8.5.4",
   "tslint": "^5.20.1",
   "typescript": "^3.8.2",
   "typescript-logging": "^0.6.4",
   "webdriver-manager": "^12.1.7",
   "yargs": "^13.3.0"
 }

这是tsconfig.json:

Here's the tsconfig.json:

{
  "compileOnSave": true,
  "compilerOptions": {
    "baseUrl": ".",
    "module": "commonjs",
    "paths": { "*": ["types/*"] },
    "outDir": "./dist/out-tsc",
    "mapRoot": "./dist/out-tsc/",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es6",
    "typeRoots": [
      "node_modules/@types"
    ]
  }
 }

推荐答案

这对我有用:

beforeLaunch: function() {
        require('ts-node').register({
        project: 'tsconfig.json'
        });
    },

onPrepare: () => {
    let globals = require("protractor");
    global.browser = globals.browser;
    var chai = require("chai");
    var chaiAsPromised = require("chai-as-promised");
    chai.use(chaiAsPromised);
    global.chai = chai;
 }

这篇关于量角器/打字稿(es6):语法错误:无法在模块外部使用import语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆