将 Javascript(angular 应用程序)转换为 Typescript

Convert Javascript (angular app) to Typescript

我想实现可插入的 angular 应用程序,我使用这个 tutorial 来解决问题,本教程使用 RequireJs 以正确的顺序加载脚本

我想将此项目转换为类型脚本,但我不知道如何在类型脚本中使用 RequireJs

例如这是我的 App.js 代码:

define(['require', 'angular', 'underscore', 'src/modules/definitionsLoader.js', 'ngMaterial', 'ui.router', 'ngCookies', 'ngFileUpload' , 'src/controllers/controllers.js'],
function (require, angular, _ , definitionsLoader) {

    require(definitionsLoader.scriptsToLoad, function () {
        return initializeApp(angular);
    });

    function initializeApp(angular) {
        var application = angular.module('app', definitionsLoader.modulesToLoad)
            .config([
            '$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
                $urlRouterProvider.when('', '/home');
                $urlRouterProvider.otherwise('/home');
                $stateProvider
                    .state('home', {
                        url: '/home',
                        templateUrl: 'src/views/dashboard.html',
                        controller: function() {

                        },
                        controllerAs: 'ctrl'
                    });


                var states = definitionsLoader.statesToConfigure;
                for (var i = 0; i < states.length; i++) {

                    var state = states[i];
                    $stateProvider.state(state.stateName, { url: state.url, controllerAs:'vm' , abstract: state.abstract, templateUrl: state.templateUrl, controller: state.controller });
                }
            }]).run(['$rootScope', function ($rootScope) {
                $rootScope.modules = definitionsLoader.modules;
            }])

        angular.bootstrap(document, ['app']);
    };
});

由于有效的 JavaScript 代码也是有效的 TypeScript 代码,因此您的代码段 "is already" TypeScript。如果你还想要智能感知和 TypeScript 附带的所有好东西,你必须使用 .d.ts 文件。您可以找到 requirejs.d.ts here. For an easy install I would recommend typings.