Подтвердить что ты не робот

Angular2 веб-сотрудники с ES5

Я пошел по пути использования Angular2, но написав код ES5, что означает, что примеры и рекомендации, которые я нахожу, обычно должны быть переведены из ответов, относящихся к TypeScript.

Может ли кто-нибудь помочь мне с версией ES5:

Загрузите приложение. В TypeScript я вижу, что это делается как:

import {WORKER_APP_PLATFORM, WORKER_APP_APPLICATION} from "angular2/platform/worker_app";
import {platform} from "angular2/core";
platform([WORKER_APP_PLATFORM]).application([WORKER_APP_APPLICATION]).bootstrap(myApp)

Доступ к компоненту web_workers:

import {Component} from 'angular2/web_worker/worker';
@Component({ ... ])

Я предположил, что последнее будет достигнуто путем вызова

ng.web_worker.worker.Component({ ... })

Но это, похоже, не так: ng.web_worker undefined.

Проблема может заключаться в том, что я, похоже, не могу правильно включить web_worker/ui.js. Когда я включаю его вместо пакетов / angular2 -all.umd.js, я получаю сообщения об ошибках, требующих undefined. Когда я явно включаю RequireJS в свой проект, я получаю кучу других ошибок.

Любая помощь будет принята с благодарностью!

4b9b3361

Ответ 1

Могу ли я спросить, почему вы хотите сделать это с помощью ES5? Вы можете легко использовать SystemJS и ES6, если вам не нравится Typescript. Typescript будет почти идентичен ES6.

Если вы все еще хотите сделать это с помощью ES5, вам необходимо изменить импорт для вызова:

var WORKER_APP_PLATFORM = require("angular2/platform/worker_app").WORKER_APP_PLATFORM;
var WORKER_APP_APPLICATION = require("angular2/platform/worker_app").WORKER_APP_APPLICATION;
var platform = require("angular2/core").platform;
platform([WORKER_APP_PLATFORM]).application([WORKER_APP_APPLICATION]).bootstrap(myApp)

Другой пример:

var Component = require('angular2/web_worker/worker').Component;

Вы получаете идею. Вам также не нужно RequireJS... Вы можете использовать SystemJS. Вы должны импортировать основной файл следующим образом:

System.import("main")

SystemJS разрешит все вызовы async, но в коде вызовы требуют синхронизации.