Обновление AngularJs 1.x, неожиданный токен: для безопасного типа

Я работаю над руководством по обновлению angularjs с 1 до 2 (Обновление Angular 1) и пример кодовой базы phonecat. После установки машинописного текста и всех упомянутых зависимостей добавление типа :boolean для ввода параметра функции приводит к сбою выполнения Chrome с ошибкой Uncaught SyntaxError: Unexpected token: последовательно не создается checkmarkFilterProvider и не удается внедрить Provider в составная часть.

(function() {
    ///<reference path='../../../typings/index.d.ts' />
    'use strict';

    angular.
        module('core').
        filter('checkmark', function() {
            return function(input:boolean) {
                return input ? '\u2713' : '\u2718';
            };
        });
})();

Команда npm run tsc -w компилирует файлы .ts и создает карты, однако выполнение браузера завершается ошибкой. введите здесь описание изображения

пакет.json

{
    "name": "angular-phonecat",
    "private": true,
    "version": "0.0.0",
    "description": "A tutorial application for AngularJS",
    "repository": "https://github.com/angular/angular-phonecat",
    "license": "MIT",
    "dependencies": {},
    "devDependencies": {
        "bower": "^1.7.7",
        "concurrently": "^2.1.0",
        "http-server": "^0.9.0",
        "jasmine-core": "^2.4.1",
        "karma": "^0.13.22",
        "karma-chrome-launcher": "^0.2.3",
        "karma-firefox-launcher": "^0.1.7",
        "karma-jasmine": "^0.3.8",
        "protractor": "^3.2.2",
        "shelljs": "^0.6.0",
        "tsc": "^1.20150623.0",
        "typescript": "^1.8.10",
        "typings": "^1.0.4"
    },
    "scripts": {
        "postinstall": "bower install",
        "prestart": "npm install",
        "start": "tsc && concurrently \"npm run tsc:w\" \"npm run http\" ",
        "tsc": "tsc",
        "tsc:w": "tsc -w",
        "typings": "typings",
        "http": "http-server -a localhost -p 8000 -c-1 ./app",
        "pretest": "npm install",
        "test": "karma start karma.conf.js",
        "test-single-run": "karma start karma.conf.js --single-run",
        "preupdate-webdriver": "npm install",
        "update-webdriver": "webdriver-manager update",
        "preprotractor": "npm run update-webdriver",
        "protractor": "protractor e2e-tests/protractor.conf.js",
    }
}

tsconfig.json

{
  "compilerOptions": {
      "target": "es5",
      "module": "commonjs",
      "moduleResolution": "node",
      "sourceMap": true,
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "removeComments": false,
      "noImplicitAny": false,
      "suppressImplicitAnyIndexErrors": true
  },
  "exclude": [
    "node_modules"
  ]
}

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

В конце концов исходные файлы *.ts компилируются в проводнике проекта, но в браузере их нет, как указал @tadwork. Чего не хватает в моей конфигурации?

Обновить

Чтобы запустить угловое приложение, я запускаю сценарий запуска npm из package.json, который теоретически должен компилировать файлы *.ts и запускать http-сервер с ./app в качестве источника сервера (см. сценарии package.json -> запуск).

./app после того, как выполнение скрипта скомпилировало файлы *.js и *.map.js. введите здесь описание изображения


person Maxim    schedule 07.06.2016    source источник


Ответы (1)


похоже, что аннотации типа Typescript вводятся в браузер без компиляции, поэтому типы все еще находятся в параметре input

return function(input: логическое значение )

person Tadwork    schedule 07.06.2016
comment
Ты прав. Любые советы, как это исправить? - person Maxim; 08.06.2016
comment
это может происходить из-за того, что файлы *.ts обслуживаются. Не могли бы вы уточнить, как вы обслуживаете файлы? - person Tadwork; 08.06.2016
comment
Я запускаю http-сервер и нацеливаю его на папку ./app. В папке скомпилированы файлы *.js. В вопросе есть обновленный раздел. - person Maxim; 08.06.2016
comment
если вы посмотрите на скомпилированный файл .js в этой папке, имеет ли он логический тип? (не из браузера?) - person Tadwork; 08.06.2016
comment
Ваши вопросы привели меня к ответу. При обновлении ng1 до ng2 я переименовал файлы *.js в файлы *.ts, ссылки IDE тоже переименовали, ссылки файлов в index.html. После отката index.html все работает. - person Maxim; 08.06.2016