运行navalia示例的打字稿错误

我试图从https://github.com/joelgriffith/navalia运行这个例子,但为了我的光,我不能没有错误地工作:

navaliatest.ts

/// <reference path="typings.d.ts" /> import { Chrome } from 'navalia'; const chrome = new Chrome(); async function buyItOnAmazon() { const url = await chrome.goto('https://amazon.com'); const typed = await chrome.type('input', 'Kindle'); const clicked = await chrome.click('.nav-search-submit input'); chrome.done(); console.log(url, typed, clicked); // 'https://www.amazon.com/', true, true } buyItOnAmazon(); 

tsconfig.json

 { "files": [ "navaliatest.ts" ], "compilerOptions": { "noImplicitAny": false, "target": "es6", "moduleResolution": "node", "paths": { "*" : ["/usr/local/lib/node_modules/*"] } } } 

typings.d.ts

 /// <reference path="/usr/local/lib/node_modules/navalia/build/Chrome.d.ts" /> declare module 'navalia' { var Chrome: any; export = Chrome; } 

以下是版本:

 MacBook-Pro:testcasperjs myusername$ node --version v6.11.2MacBook-Pro:testcasperjs myusername$ npm --version 3.10.10 MacBook-Pro:testcasperjs myusername$ tsc --version Version 2.4.2 

这是我得到的错误,虽然我得到.js文件输出:

 MacBook-Pro:testcasperjs myusername$ tsc navaliatest.ts ../../../usr/local/lib/node_modules/navalia/node_modules/chrome-launcher/chrome-finder.ts(203,16): error TS2339: Property 'from' does not exist on type 'ArrayConstructor'. ../../../usr/local/lib/node_modules/navalia/node_modules/chrome-launcher/chrome-launcher.ts(99,15): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. navaliatest.ts(3,10): error TS2305: Module ''navalia'' has no exported member 'Chrome'. 

我确信在某个地方有一个愚蠢的错误,但请有人帮我看一下吗? 谢谢。

你不需要重新navalia 。 在node_modules/navalia/build/index.d.ts已经完成了, node_modules/navalia/build/index.d.ts被设置为Node

您需要将module设置为commonjs以便您可以在节点中运行它

tsconfig.json

 { "files": [ "navaliatest.ts" ], "compilerOptions": { "noImplicitAny": false, "target": "es6", "module": "commonjs", "moduleResolution": "Node" } } 

navaliatest.ts (没有变化)

 import { Chrome } from 'navalia'; const chrome = new Chrome(); async function buyItOnAmazon() { const url = await chrome.goto('https://amazon.com'); const typed = await chrome.type('input', 'Kindle'); const clicked = await chrome.click('.nav-search-submit input'); chrome.done(); console.log(url, typed, clicked); // 'https://www.amazon.com/', true, true } buyItOnAmazon(); 

它会创build没有错误的navaliatest.js ,可以在节点中运行。