Обновите angular2.d.ts и router.d.ts, чтобы они соответствовали версии angular2.

Я разрабатываю в Atom с помощью atom-typescript небольшое тестовое приложение с использованием Angular2. Моя первоначальная настройка для angular2.d.ts использовала alpha.28, а router.d.ts использовала alpha.31. Я обновил свой index.html до alpha.46.

<script src="https://code.angularjs.org/2.0.0-alpha.46/angular2.dev.js"></script>
<script src="https://code.angularjs.org/2.0.0-alpha.46/router.dev.js"></script>

Теперь, когда я импортирую такие вещи, как ROUTE_PROVIDERS, atom-typescript выдает ошибку «не найден». Я также получаю, что router.d.ts не может найти имя «Непрозрачный токен».

Думаю, мне нужны файлы d.ts, соответствующие alpha.46. После пары часов поиска и проб я не могу это сделать. Я попробовал npm install angular2 с курсором командной строки на typings/angular2 и получил журнал ошибок с 12 031 строкой, но без новых файлов d.ts. Среди прочего, я также пробовал пустой кеш Chrome и жесткую перезагрузку.

Как я могу получить файлы d.ts, соответствующие версии angular2? Можно ли автоматизировать обновление, чтобы оно всегда соответствовало версии angular2 в index.html?

Если это полезно, вот мой файл tsconfig.json

{
  "compilerOptions": {
    "charset": " UTF-8",
    "declaration": false,
    "diagnostics": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "listFiles": true,
    "module": "commonjs",
    "noImplicitAny": false,
    "noLib": false,
    "outDir": "dist/js/cjs",
    "rootDir": "src",
    "removeComments": true,
    "sourceMap": true,
    "target": "es5",
    "version": true
  },
  "filesGlob": [
    "./**/*.ts",
    "!node_modules/**"
  ],
  "exclude": [
    "node_modules"
  ],
  "files": [
    "./app.ts",
    "./src/components/navigation/home.ts",
    "./src/components/navigation/postApartment4Rent.ts",
    "./typings/angular2/angular2.d.ts",
    "./typings/angular2/router.d.ts",
    "./typings/es6-promise/es6-promise.d.ts",
    "./typings/rx/rx-lite.d.ts",
    "./typings/rx/rx.d.ts",
    "./typings/tsd.d.ts"
  ],
  "atom": {
    "rewriteTsconfig": true
  },
  "buildOnSave": true,
  "compileOnSave ": true
}

person Mike_Laird    schedule 30.11.2015    source источник
comment
Проверьте эту проблему   -  person Eric Martinez    schedule 01.12.2015
comment
Эрик, спасибо. Я разместил описание ошибок, которые я получаю, на странице проблем, на которую вы меня отправили. Я могу запутаться, но я думаю, что команде angular2 есть над чем поработать, чтобы машинописный текст работал в IDE для последних альфа-релизов.   -  person Mike_Laird    schedule 02.12.2015
comment
Проблемы, которые я опубликовал, были моими. Я исправил их, и npm установил alpha.47 в код моего проекта. atom-typescript по-прежнему не находит новых объектов, таких как ROUTE_PROVIDERS. Возможно, мне придется подождать, пока не появится больше документации по angular2.   -  person Mike_Laird    schedule 04.12.2015


Ответы (1)


Я видел интересное решение здесь, которое я принял для кода разработки, по крайней мере, пока версия ng2 сохраняет изменение:

1) В файле глотка:

gulp.src('node_modules/angular2/bundles/angular2.dev.js').pipe(gulp.dest(dest_lib));
gulp.src('node_modules/angular2/bundles/router.dev.js').pipe(gulp.dest(dest_lib));
gulp.src('node_modules/systemjs/dist/system.src.js').pipe(gulp.dest(dest_lib));

2) В вашем файле index.html

<script src="lib/system.src.js"></script>
<script src="lib/angular2.dev.js"></script>
<script src="lib/router.dev.js"></script>
person user3636086    schedule 10.12.2015
comment
Я не использую Gulp, поэтому я не могу протестировать/поручиться за это решение, но я предполагаю, что у вас есть все необходимое. Спасибо. Последняя моя проблема заключается в том, что я обновил свой файл tsd.json для angular2.d.ts, но не могу получить установленную фиксацию в tsd.json для маршрутизатора. Таким образом, atom-typescript использует старый файл d.ts для маршрутизатора. Я использовал Bash, чтобы попробовать tsd install angular-new-router -ros, и я получаю ответ - никаких результатов. Я также попытался удалить старый файл router.d.ts и выполнить новую установку tsd, но снова я получаю - никаких результатов - и не установленная фиксация в tsd.json. - person Mike_Laird; 11.12.2015