В настоящее время у меня возникла проблема с компиляцией машинописного текста.
Я использую последнюю версию OpenLayers (3.0.0 Beta 1) и пытаюсь интегрировать ее в свои модули AMD. Я уточняю, что я не очень хорошо знаком с механизмом AMD и машинописным текстом.
Чтобы управлять своей картой, созданной благодаря OpenLayers3, я создаю новый модуль:
OlMap.ts
/// <reference path="../_import.ts" />
import ol = require('ol');
/*
* Custom class used to wrap the OpenLayers Map class.
* This is used to extend the functionnalities (i.e. controls)
* Defined following the chaining method pattern.
*
* @module OlMap
* @class
*/
class OlMap {
// My code here
}
Чтобы упростить использование OpenLayers3 (это не AMD), я создал файл определения под названием ol3.d.ts, на который есть ссылка в моем _import.ts
Моя проблема в том, что когда я пытаюсь скомпилировать это, я получаю сообщение об ошибке:
OlMap.ts<3.1> error TS2071: Unable to resolve external module ''ol''
OlMap.ts<3.1> error TS2072: Module cannot be aliased to a non-module type.
Файл компиляции выглядит так:
/// <reference path="../_import.ts" />
define(["require", "exports", 'ol'], function(require, exports, __ol__) {
var ol = 'ol';
Но должно быть больше похоже:
/// <reference path="../_import.ts" />
define(["require", "exports", 'ol'], function(require, exports, __ol__) {
var ol = __ol__;
Если я вручную редактирую файл javascript, сгенерированный, как предыдущий код (var ol = __ ol__;), у меня нет проблем с зависимостями, но сгенерированный файл создает ошибки из-за ошибки компиляции.
Любые идеи ? Спасибо
Изменить: я не интегрирую файл javascript OpenLayer в HTML. OpenLayer не является библиотекой AMD, поэтому я использую прокладку RequireJS.