Модули импорта Angular2 Ошибка: TS2307

Я собираюсь написать простое приложение hello word с angular2 и systemjs для импорта модуля в phpStorm.

Вот каталог моего проекта:

ProjectName
     |--app
        |--app.ts
        |--app.js
     |node_modules
     |index.html
     |package.json
     |tsconfig.json

Вот фрагмент кода:

import { bootstrap } from "angular2/platform/browser";
import { Component } from "angular2/core";

Вопрос:
Откуда он знает, где найти этот файл? Когда я переместил node_modules в папку приложения, возникает ошибка.


person Ng2-Fun    schedule 08.02.2016    source источник


Ответы (2)


Это немного сбивает с толку: angular2/platform/browser и angular2/core — это имена модулей, а не имена файлов. Эти модули загружаются из основного скрипта Angular2, который может быть node_modules/angular2/angular2.min.js или node_modules/angular2/angular2.dev.js.

Если ваш код имеет доступ к angular2.js, вы можете импортировать множество различных модулей Angular.

person MatthewScarpino    schedule 09.02.2016

Здесь angular2/core или angular2/platform/browser и т. д. — это не путь, а предопределенный пакет systemjs для angular. если вы посмотрите на исходный код angular bundal ты видишь, что есть

System.register("angular2/core", etc ....

и это говорит systemjs, что делать. Вы можете найти больше здесь... для так же мы уже импортировали system.js перед нашим angular в index.html.

https://stackoverflow.com/a/34804834/5043867 Список импорта для angular2

на самом деле system.js - это загрузчик модулей, существует множество загрузчиков модулей, но я использовал system.js загрузчик модулей, например commonJs, systemJs и т. д.

оба загрузчика загружают модуль по-своему например мы взяли код

 import {Component} from 'angular2/core';

этот фрагмент кода загружается с помощью commonJs в es6, как это

var core_1 = require('angular2/core'); ...

и systemJs связывают этот модуль следующим образом:

System.register(['angular2/core'], function(exports_1) { ...

оба загрузчика хороши, но для быстрого запуска используется SystemJS.

person Pardeep Jain    schedule 09.02.2016