gpt4 book ai didi

requirejs - typescript AMD外部模块加载,角度未定义

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:07 25 4
gpt4 key购买 nike

我知道已经有一些关于这个主题的类似问题,但不知何故它们都没有帮助。我想在使用 requirejs 和 Typescript 的项目中使用 angular.js。

我有一个模块,我在其中使用 Angular 创建服务模块:

/// <reference path="../../../typings/angularjs/angular.d.ts" />
...
var services = angular.module('services', []);
...
export = services;

这段代码编译没有错误,但是在创建的js文件中,没有angular.js依赖:

define(["require", "exports"], function(require, exports) {
...
}

当我运行该应用程序时,浏览器会提示:Uncaught ReferenceError: angular is not defined

我的猜测是,除了引用它之外,我还应该以某种方式导入角度,但我尝试过的路径都不起作用。

这是我的 require.js 配置,以备不时之需:

require.config({

paths: {
angular: '../lib/angular/angular',
...
},
shim: {
angular : {exports : 'angular'},
...
}
)}

你能帮我吗,这里缺少什么?谢谢。

最佳答案

当您使用引用评论时:

/// <reference path="../../../typings/angularjs/angular.d.ts" />

您是在告诉编译器“我将确保此依赖项在运行时可用”。

如果要加载模块,则需要改用导入...

import angular = require('angular');

这样做的零设置方法是将 angular.d.ts 文件放在实际的 angular.js 文件旁边,所以你的路径在 import 语句中指定的两种方式都是相同的 - 否则,请使用您的 require 配置来调整路径。

关于requirejs - typescript AMD外部模块加载,角度未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25067360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com