2

显然,如果你搜索“打字稿意外令牌导入”,你会得到无数的结果。它们都是关于一些具体问题,而不是关于如何解决一般问题。因此,我在从其他答案中学习以解决我的问题时遇到问题。

任何帮助,将不胜感激。

我在用:

Mac OS X

npm v5.5.1

纱线 v1.3.2

ts-node v4.1.0

节点 v9.2.1

打字稿 v2.6.2

我正在关注这个:https ://coinbase.github.io/gdax-tt/gtt_installation.html

我安装了纱线。

我更新了 npm。

我用纱线添加了gdax-tt。

我使用 npm 安装打字稿。

我正在使用推荐的 tsconfig.json。它在安装页面上如下所示:

{
"compilerOptions": {
  "module": "commonjs",
  "target": "es6",
  "lib": ["es6", "es2016", "ES2016.Array.Include", "dom", "ES2017.object"],
  "noImplicitAny": true,
  "noImplicitReturns": true,
  "noImplicitThis": true,
  "noUnusedLocals": true,
  "strictNullChecks": false,
  "experimentalDecorators": true,
  "outDir": "build",
  "sourceMap": true,
  "allowJs": true
 },
  "exclude": [
  "node_modules"
 ]
}

但是在github上是:

{
"compilerOptions": {
 "module": "commonjs",
 "target": "es6",
 "lib": ["es6", "es2016", "ES2016.Array.Include", "dom", "ES2017.object"],
 "noImplicitAny": true,
 "noImplicitReturns": true,
 "noImplicitThis": true,
 "noUnusedLocals": true,
 "strictNullChecks": false,
 "experimentalDecorators": true,
 "outDir": "build",
 "sourceMap": true,
 "declaration": true,
 "skipLibCheck": true
},
"include": [
  "types/*.d.ts",
  "src/**/*.ts",
  "test/**/*.ts"
 ],
 "exclude": [
  "node_modules"
 ]
}

我都试过了,但由于我是 TS 新手,我不确定我是否正确使用了它们。我将如何检查?

我可以运行以下命令:

ts-node ./build/src/consoles/gdaxConsole.js --product BTC-USD -t

但是当我跑步时

ts-node ./tutorials/t001_feeds.ts 

我明白了:

import * as GTT from 'gdax-trading-toolkit';
^^^^^^

SyntaxError: Unexpected token import
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:152:10)
    at Module._compile (module.js:605:28)
    at Module._extensions..js (module.js:652:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/usr/local/lib/node_modules/ts-node/src/index.ts:414:14)
    at Module.load (module.js:560:32)
    at tryModuleLoad (module.js:503:12)
    at Function.Module._load (module.js:495:3)
    at Function.Module.runMain (module.js:682:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/ts-node/src/_bin.ts:177:12)

我在这个网站和其他网站上看到了很多关于“意外令牌导入”的解决方案,但所有这些似乎都是相当具体的建议,我无法将其转化为我的解决方案。

有人可以指点我了解/调试此错误的资源或帮助我解决此特定情况吗?

4

2 回答 2

0

希望你已经解决了你的问题。如果你没有,我已经让它在我的 Mac 上运行。我的 gdax-tt 目录中有 github 版本(带有“include”的版本)。所以我不认为这是问题所在。我注意到的一件事是 js (javascript) 运行良好,但 ts 似乎无法正常工作。你有没有用 ts-node 运行过别的东西?您是否尝试过“which ts-node”以确保它指向正确?

我希望我能给你更多,但我没有任何东西可以复制。

于 2018-01-30T20:14:06.490 回答
0

问题似乎是,如果 gdax-tt 代码位于 node_modules 目录中,则它没有被编译,因此需要将--no-ignore标志传递给 ts-node。

我在这里找到了导致ts-node's命令行参数的提示:

--ignore 为 ts-node 指定一个正则表达式字符串数组以跳过编译为 TypeScript(默认为/node_modules/, --no-ignore/false禁用)

于 2018-02-14T06:01:02.967 回答