Это конструкция Typescript, внутри файла .js? И как мне с этим бороться? - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь запустить простой тест, но Бабел 7 жалуется ....

Полное сообщение об ошибке:

 SyntaxError: /Users/malcolm/git/walks/node_modules/mapbox-gl/src/util/window.js: Unexpected token (9:12)

   7 | import { extend } from './util';
   8 | 
>  9 | import type {Window} from '../types/window';
     |             ^
  10 | 
  11 | const { window: _window } = new jsdom.JSDOM('', {
  12 |     virtualConsole: new jsdom.VirtualConsole().sendTo(console)

  at Parser.raise (node_modules/@babel/parser/lib/index.js:3939:15)
  at Parser.unexpected (node_modules/@babel/parser/lib/index.js:5248:16)
  at Parser.expectContextual (node_modules/@babel/parser/lib/index.js:5216:41)
  at Parser.parseImport (node_modules/@babel/parser/lib/index.js:8429:12)
  at Parser.parseStatementContent (node_modules/@babel/parser/lib/index.js:7234:27)
  at Parser.parseStatement (node_modules/@babel/parser/lib/index.js:7153:17)
  at Parser.parseBlockOrModuleBlockBody (node_modules/@babel/parser/lib/index.js:7707:23)
  at Parser.parseBlockBody (node_modules/@babel/parser/lib/index.js:7694:10)
  at Parser.parseTopLevel (node_modules/@babel/parser/lib/index.js:7118:10)
  at Parser.parse (node_modules/@babel/parser/lib/index.js:8521:17)

Оскорбительная строка (ниже) выглядит так, как будто это может быть небольшим кусочком Typescript, но я не эксперт.

import type {Window} from '../types/window';

Но что он делает в файле .js? Я думал, что Typescript принадлежит в файлах .ts?

Я хотел бы получить это скомпилированное (с Babel 7), чтобы мой маленький тест начал выполняться, но я предполагаю, что @babel/preset-typescript зависает в поиске .ts файлов и не собираюсь что-нибудь сделать с этой строкой в ​​файле .js .

Полный файл, содержащий эту строку, находится здесь:

https://github.com/mapbox/mapbox-gl-js/blob/master/src/util/window.js

Кто-нибудь может пролить немного света на это для меня?

  • Что это за строчка и почему ей не нравится Вавилон?

1 Ответ

0 голосов
/ 31 октября 2018

Это фрагмент кода с Flowtype аннотациями. В этом проекте уже есть процесс сборки , который удаляет эти аннотации, поэтому я не думаю, что вы должны использовать эти src/ файлы напрямую.

...