Я построил приложение для Angular 2 alpha 45, и он отлично работал, но мне пришлось много "обманывать", чтобы заставить его работать. Я понимаю Angular 2, но я не понимаю, как заставить его работать, фактически используя Angular 2.
Я пытаюсь выполнить чистую сборку 'Angular 2: 5 мин Quickstart'. Есть ряд проблем, и я буду как можно более конкретным. Я хочу узнать, почему эти проблемы происходят и, надеюсь, как их исправить. Обновление Visual Studio 2015 1, Typescript 1.7.
Typescript Конфигурация: quickstart включает файл tsconfig.json.
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules"
]
}
Я не уверен, что это все-таки, поскольку мне пришлось отредактировать файл ProjectName.csproj и добавить строку:
<TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
чтобы избавиться от ошибки экспериментальных декораторов.
https://github.com/Microsoft/TypeScript/issues/3124 кажется, что файл tsconfig должен быть в /Scripts для работы, но это тоже не работает для меня.
Я хотел бы знать, как заставить этот файл tsconfig работать, или отредактировать файл .csproj, чтобы получить одинаковые параметры компилятора. Если вы посмотрите в Project Properties > Typescript Build. Это что? Должна ли система модуля быть: System?
Моя файловая структура такая же, как и Quickstart.
app/
app.component.ts
boot.ts
node_modules/
blah
index.html
tsconfig.json
package.json
Я использовал powershell для запуска npm install, чтобы получить все в каталоге node_modules.
import {Component} from 'angular2/core';
отображает ошибку. ../node_modules/angular2/core';
не отображает ошибку, но затем, когда вы строите проект, вы получаете много ошибок сборки в файлах в node_moduels/angular2/src/*
. Теперь, возможно, я смогу войти и вручную исправить эти проблемы, но я чувствую, что конфигурация неверна, если появляются эти ошибки. Кажется, что tsconfig хочет исключить node_modules
. Почему я не могу использовать 'angular2/core'
и вместо этого должен использовать относительный путь к нему? Если я включаю node_modules в проект Visual Studio, в node_modules
есть безумное количество ошибок сборки.
В отдельности:
Я делаю эту чистую сборку, потому что я не мог решить, как обновить проект от альфа-45 до бета-версии 0. Исправление ошибок в моем проекте из Angular 2 изменений будет легко, но получение приложения для загрузки всех модулей в момент невозможен.
Следующая часть предполагает, что я пройду ошибки сборки:
В index.html
есть:
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/boot')
.then(null, console.error.bind(console));
Я никогда не работал над System.import('app/boot')
, не указав расширение файла. Является ли это проблемой визуальной студии или это проблема .NET MVC? Если я укажу расширение файла в index.html
, тогда я получаю 404 с помощью System.js, пытаясь найти файлы компонентов без расширения файла (хотя config имеет defaultExtension: 'js'
. Это потому, что мне нужно включить файлы js в мой проект? Тогда, если я пройду эту проблему, мне придется иметь дело с
system.src.js:1049 GET http://localhost:63819/angular2/http 404 (Not Found)
У меня не было одной ошибки сборки, но теперь System.js ничего не загружает.
Мне кажется, что это все проблемы, которые создаются разными системами, которые интерпретируют Typescript по-разному. Я чувствую, что я не был ясен, но я не знаю, как быть ясным в этом вопросе. Я бы очень признателен за любую помощь и руководство, которые вы могли бы наделить меня. Мне кажется, что я искал ответ на это в течение нескольких дней.