javascript – Typescript RequireJs AngularJs

在我的前端,我想使用带有requireJs和AngularJs的typescript

我得到了使用angularjs的打字稿,但是当我想添加requireJs时,没有任何工作了.我希望有人可以帮助我:)

这基本上是我的结构:

在我的索引文件中,我将主文件称为我的requireJs起点

这是我的主要内容

///

最后但并非最不重要的是我的appsetup文件,我加载我的应用程序:

///

Webstorm还强调了require语句中的angular,并说它无法找到它.
目前我收到此错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module app
due to: Error: [$injector:nomod] Module ‘app’ is not available! You
either misspelled the module name or forgot to load it. If registering
a module ensure that you specify the de……0)

你们知道我做错了吗?或者您是否有一些页面链接,我可以看到如何使用这3种技术为大型项目开发?

最佳答案
当typescript编译时,它会根据导入或导出的存在创建define()函数(对于requirejs或commonjs).但请注意,导入和导出仅适用于打字稿模块而不是简单的js文件.
你可以做这样的事情

import myimportmodule = require("myimportmodule");

你的导入模块在哪里

export module myimportmodule
{
   export class Test
   {}
}

你不能做这样的事情.

import angular = require("angular");

只是因为angular.js不是打字稿模块.

看下面的代码

/**
 * Created by Costa on 4/19/2014.
 */
///

注意这一行?

///

它会在define函数中添加一个依赖项,因此js文件如下所示:

/**
* Created by Costa on 4/19/2014.
*/
///

这就是为什么你需要这个

var angular:ng.IAngularStatic = require("angular");

访问角度功能.
希望有所帮助.
编辑—-
或者你可以在angular.d.ts或另一个.d.ts文件中执行以下操作,如果你真的想要像这样导入它

declare module 'angular'{
    export var angular:ng.IAngularStatic;
}

这将创建一个带有var angular inside的外部模块声明并将其导出.

相关文章

kindeditor4.x代码高亮功能默认使用的是prettify插件,prett...
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小