Мы перешли на Typescript, как только он появился, но тогда не было почти такой поддержки того, что мы делаем (ни советов).
CS.ts - содержит несколько очень распространенных методы, которые используются повсюду
module CS {
"use strict";
declare var baseUrl: string;
/**
* Opens a popup window in another tab if possible, otherwise shows a message to
* the user that both explains that it wasn't shown and allows them to easily open it immediately.
* @param url {string} The url to open
*/
export function OpenPopupWindow(url: string): void {
// You would call this function by using CS.OpenPopupWindow()
var win = window.open(url, "_blank");
CheckPopup(win, url);
}
// other code
}
Теперь мы объединяем другой код, связанный с другими файлами, например CS.Kendo.ts для всех вспомогательных методов, связанных с кендо:
/// <reference path="CS.ts" />
;
module CS {
"use strict";
export module Kendo {
// You would call this function by using CS.Kendo.getParentElement()
export function getParentElement(selector: any): JQuery { /* something here */ }
}
}
Это приводит к огромному количеству этой ошибки в наши дни:
Итак, вопрос в том, как правильно делать то, что мы делали. Обычно он работает нормально, но со временем у нас появляется все больше и больше проблем со сборкой и минификацией. Компиляция при сохранении работает, сборки завершены, но когда мы строим с помощью IntelliSense, появляются ошибки, и если мы пытаемся построить машинописный текст в задаче gulp, мы снова получаем все эти ошибки.
* 1017 пример того, что такое «текущий правильный путь», учитывая, что в наши дни шаблоны настолько базовые c.