node.js - „typescript token neașteptat import” pe GDAX-tt - am încercat să urmez alte soluții pentru alte programe fără succes
Evident, dacă cauți "typescript unexpected token import" vei obține o mulțime de rezultate. Toate se referă la o problemă specifică, nu despre cum să abordezi problema în general. Așadar, am probleme să învăț din alte răspunsuri pentru a-mi rezolva problema.
Orice ajutor ar fi apreciat.
Eu folosesc:
Mac OS X
npm v5.5.1
fire v1.3.2
ts-node v4.1.0
nod v9.2.1
typescript v2.6.2
Urmăresc acest lucru: https://coinbase.github.io/gdax-tt/gtt_installation.html
Am instalat yarn.
Am actualizat npm.
Am folosit yarn pentru a adăuga gdax-tt.
Am folosit npm pentru a instala typescript.
Folosesc tsconfig.json recomandat. Este listat astfel pe pagina de instalare:
{
"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"
]
}
Dar este pe GitHub ca:
{
"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"
]
}
Am încercat ambele, dar fiindcă sunt nou în TS, nu sunt sigur că le-am folosit corect. Cum aș putea verifica?
Pot să pornesc următoarele:
ts-node ./build/src/consoles/gdaxConsole.js --product BTC-USD -t
Dar când alerg
ts-node ./tutorials/t001_feeds.ts
Înțeleg asta:
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)
Văd multe soluții pe acest site și pe altele pentru „tokenul neașteptat import”, dar toate par să fie sfaturi destul de specifice pe care nu le pot transforma într-o soluție pentru mine.
Poate cineva să îmi indice o resursă pentru a înțelege/dezlega această eroare sau să mă ajute să rezolv acest caz specific?
Răspuns #1
Sper că deja ți-ai rezolvat problema. În cazul în care nu, am reușit să fac acest lucru să ruleze pe Mac-ul meu. Al meu are versiunea de pe GitHub (cea cu „include”) în directorul gdax-tt. Deci nu cred că acesta este problema. Un lucru pe care îl observ este că js (JavaScript) rulează bine, dar ts pare să nu funcționeze. Ai rulat altceva cu ts-node? Ai încercat „which ts-node” pentru a te asigura că indică corect?
Mi-aș fi dorit să am mai mult pentru tine, dar nu primesc nimic de replicat.
Răspunsul #2
Problema pare să fie că dacă codul gdax-tt se află într-un director node_modules atunci nu este compilat, deci trebuie să treceți flag-ul --no-ignore la ts-node.
Am găsit indiciul aici, care m-a condus la argumentele liniei de comandă ale ts-node, care spun:
--ignore Specificați un șir de expresii regulate pentru ca ts-node să le ignore la compilarea ca TypeScript (implicit /node_modules/, --no-ignore/false pentru a dezactiva)