【发布时间】:2014-06-26 23:14:48
【问题描述】:
在我的前端,我想将 typescript 与 requireJs 和 AngularJs 一起使用
我得到了使用 angularjs 的 typescript,但是当我想添加 requireJs 时,什么都没有了。我希望有人可以在这里帮助我:)
这基本上是我的结构:
在我的索引文件中,我将主文件作为我的 requireJs 起点
</script><script src="/components/requirejs/require.js" data-main="/js/main">
这是我的 main.ts
///<reference path="types/collection.d.ts"/>
require.config({
baseUrl: '/js/',
paths: {
angular: '/components/angular/angular',
angularRoute: '/components/angular-route/angular-route'
},
shim: {
'angular': {'exports': 'angular'},
'angularRoute': ['angular']
},
priority: [
'angular'
]
});
require( [
'angular',
'app/appsetup'
], function(angular, app) {
'use strict';
$(document).ready(function () {
var $html = $('html');
angular.bootstrap($html, [app.app['name']]);
});
});
最后但并非最不重要的是我的 appsetup 文件,我正在加载我的应用程序:
///<reference path="../types/collection.d.ts"/>
/// <amd-dependency path="angular"/>
import controller = require("./../controllers/home/index");
import angular = require("angular");
export var app = angular.module('app', ['ngRoute'])
.controller('app.controllers.home.index', controller.HomeController);
return app;
Webstorm 也在 require 语句中强调了 angular 并说它找不到它。 目前我收到此错误:
未捕获的错误:[$injector:modulerr] 无法实例化模块应用程序 由于:错误:[$injector:nomod] 模块“应用程序”不可用!你 要么拼错了模块名称,要么忘记加载它。如果注册 一个模块确保你指定de......0)
你们知道我做错了什么吗?或者您是否有一些页面链接,我可以在其中看到您如何使用这 3 种技术为大型项目进行开发?
【问题讨论】:
标签: javascript angularjs requirejs typescript