2016-02-28 5 views
1

Я использую угловой 2 с машинописным текстом (V-1.8) в своем проекте. Я настроил свой tsconfig для генерации вывода в один файл .js. Этот файл также имеет код для загрузочного приложения, так как файл boot.ts также передается в файл .js. Моя структура приложения выглядит следующим образом.AngularJs 2 не удалось загрузить, когда сгенерировал вывод всех файлов машинописных файлов в один файл js

Root 
|_app 
| | |__Module1 
| | |_a.ts 
| | |_b.ts 
| |__Module2 
| |___|_xyz.ts 
| | 
| |_Boot.ts 
|_Js 
| |_Deployment 
|   |_single.js 
|_index.html 
|_package.json 
|_tsconfig.json 

В index.html я добавил

<script type="text/javascript" src="js/Deployment/single.js"></script> 
    <!-- 2. Configure SystemJS --> 
    <script> 
    System.config({ 
     packages: { 
     app: { 
      format: 'register', 
      defaultExtension: 'js' 
     } 
     } 
    }); 

    System.import('js/Deployment/single').then(null, console.error.bind(console)); 
    </script> 

В коде генерируется внутри single.js выглядит нормально. В командной строке узла я увидел ошибку, как показано ниже.

Ts error 2661

Следовательно, приложение не сработал. Я не понимаю, является ли это угловой ошибкой 2, синтаксической ошибкой или чем-либо еще. Если я создаю отдельный .js-файл на .ts-файл и изменяю index.html как

<script> 
    System.config({ 
     packages: { 
     app: { 
      format: 'register', 
      defaultExtension: 'js' 
     } 
     } 
    }); 

    System.import('app/boot').then(null, console.error.bind(console)); 
    </script> 

приложение работает нормально. Пожалуйста, помогите мне понять, что пошло не так в случае single.js.

Заранее спасибо.

ответ

0

Проверить это GitHub нить: https://github.com/angular/angular/issues/6468

Для Вашего удобства, пользователь sicaner предлагает:

I solve this problem by adding declare var Promise: PromiseConstructor; on the top of promise.d.ts

Поскольку этот вопрос был закрыт, перед изменением promise.d.ts вы можете попробовать обновить угловую версию - возможно исправить будет уже здесь.

+0

Спасибо csharpfolk. Я обновил angularJs 2 до 2.0.0-beta.7. Теперь обещать вопрос не существует. Но System.import ('js/Deployment/single') все еще не работает. При ошибке консоли браузера отображается как SyntaxError: Неожиданный токен –

+0

Если ошибка содержит номер строки и имя файла, попробуйте проверить этот файл, если не пытаетесь использовать какой-либо онлайн-валидатор для файла single.js. Пожалуйста, предоставьте дополнительную информацию. – csharpfolk

+0

Ошибка отображается внутри файла полифония. Не в single.js –