Ошибка машинописного текста: SyntaxError: Неожиданный токен ‹ оценка

Я работаю над проектом typescript 1.8/angular2. Мы создаем внутренний набор инструментов — несколько компонентов, таких как выбор/раскрывающийся список с флажком, компонент ошибки и т. д. В настоящее время он находится в папке «скрипты». Я обновил карту в разделе «systemjs.config.js», чтобы указать, что «инструментарий» находится в папке сценариев. Теперь я пытаюсь изменить способ загрузки компонентов в клиентских файлах, которые хотят использовать набор инструментов, с относительного на неотносительного. . Может кто-нибудь сказать мне, что я делаю неправильно?

Используемые инструменты: Обновление Visual Studio 2015 2. Typescript 1.8

макет проекта:

введите здесь описание изображения

Код в файле systemjs.config.js:

var map = {
    'app': 'app', 
    'rxjs': 'node_modules/rxjs',
    'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api',
    '@angular': 'node_modules/@angular',
    'moment': 'node_modules/moment/moment.js',
    'InternalToolkit': 'node_modules/Internal.Toolkit'
};

var packages = {
    'app': {
        main: 'main.js', defaultExtension: 'js', meta: { '*.js': { scriptLoad: true } }
    },
    'rxjs': { defaultExtension: 'js' },
    'angular2-in-memory-web-api': { defaultExtension: 'js' },
    'InternalToolkit': {
        main: 'index.js', defaultExtension: 'js', meta: { '*.js': { scriptLoad: true } }
    }
};

Теперь, пытаясь использовать этот инструментарий в файле main.ts (который находится в папке сценариев), я пишу следующий код:

import {provide, ExceptionHandler} from '@angular/core';
import { bootstrap } from '@angular/platform-browser-dynamic';
import {GeneralErrorHandler} from 'Internal.Toolkit/index';
import { AppShell } from './app.shell.component';

Это компилируется нормально, но когда я запускаю его, получаю следующую ошибку в окне консоли браузера:

(индекс): 52 Ошибка: SyntaxError: Неожиданный токен ‹ Оценка http://localhost:5531/Internal.Toolkit/index Ошибка загрузки http://localhost:5531/app/main.js

Примечание. Я попытался добавить ключ «файлы» в свой tsconfig.json, чтобы указать на Internal.toolkit/index.ts, но это выдает более 140 ошибок. Я не уверен, может ли 1.8 принимать ключ «файлы». Я нигде не могу найти 1.9 — там, где мне сказали, что это может быть решением.


person Deepak    schedule 30.06.2016    source источник


Ответы (1)


Где у вас есть:

'InternalToolkit': {
        toolkit: 'index.js', defaultExtension: 'js', meta: { '*.js': { scriptLoad: true } }
    }

Разве toolkit: 'index.js' не должно быть main: 'index.js'?

person wolfhoundjesse    schedule 30.06.2016
comment
истинный. Если изменить его ... все та же проблема. Вы видите что-нибудь еще, что я мог бы попробовать? Я также исправил это в исходной публикации, чтобы избежать путаницы. - person Deepak; 30.06.2016
comment
Вы сопоставили Internal.Toolkit в SystemJS. Следующее, что я хотел бы изменить, это: import { GeneralErrorHandler } from 'InternalToolkit'; Иногда эти ошибки появляются только из-за конфигурации. - person wolfhoundjesse; 30.06.2016
comment
Я получаю полный интеллект там. Я вижу все остальные компоненты, открытые через набор инструментов. Поэтому я знаю, что компилятор это видит. Когда я устанавливаю относительный путь, он работает нормально. Это заставило меня задуматься, что еще может происходить, что он не может видеть это по неотносительному пути. Я также скопировал все компоненты в node_modules. Интересно, проблема в том, что у меня есть один и тот же набор файлов в двух разных местах? Хотя в папке Scripts у меня не загружается. Это, конечно, какая-то проблема с конфигурацией. Просто не уверен, что мне не хватает. - person Deepak; 30.06.2016
comment
При ошибке он продолжает показывать --› Оценка localhost:5531/Internal.Toolkit/index .. .почему он пытается оценить с локального хоста... хотя я сказал ему загружать из node_modules..... он не пытается загрузить модули из папки node_? - person Deepak; 30.06.2016
comment
Может быть, это способ, которым узел или машинописный текст оценивают дерево при поиске импорта? Я недавно читал об этом отличную статью. Я постараюсь найти его для вас. - person wolfhoundjesse; 30.06.2016
comment
Я прочитал это github.com/Microsoft/TypeScript/issues/5039, но я думаю, что TS 1.9 еще не вышла, поэтому я не могу использовать файлы. Также я не уверен, поможет ли это мне... спасибо за изучение. Я согласен, что это связано с тем, как TS оценивает мое дерево. только не уверен, где это настроить еще. - person Deepak; 01.07.2016