首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未捕获ReferenceError:定义不是定义的typescript

未捕获ReferenceError:定义不是定义的typescript
EN

Stack Overflow用户
提问于 2016-08-08 03:16:10
回答 1查看 63.3K关注 0票数 35

我对打字,敲击和要求是个新手。我已经使用这个文件创建了一些演示。现在,我想使用typescript和knockoutjs实现一些次要的逻辑。

我已经创建了4-5个typescript文件,这些文件是内部导入的。当我运行html文件时。我得到了错误声明。标题为

有人能帮我解决这个错误吗?我在这段代码中遗漏了什么。

在谷歌上搜索,花了相当好的时间,但没有找到适当的解决方案。必须与requireJS相关才能定义所有模块。但是,作为requireJS的新成员,它无法跟上这一趋势。我也在stackoverflow中搜索类似的错误,但它对我没有帮助。

等待解决方案

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 18:19:18

在这里,您的TypeScript已经顺利地编译成可以在requireJS环境(从技术上讲,是AMD环境)中工作的代码。这意味着它生成的输出假定定义/要求等都已经存在。

总而言之,在依赖编译后的代码之前,您需要包含RequireJS。

值得注意的是,这个错误表明您犯了一个单独的错误:您直接依赖于RequireJS模块脚本(即在您的HTML中有一个<script src="my-compiled-code.js"></script>标记)。这不是require模块的工作方式。相反,一旦你让RequireJS可用,你应该有一个单独的顶层启动脚本(要么内联在你的超文本标记语言中,要么作为一个单独的文件)来配置RequireJS和require()的应用程序的顶层文件来启动一切。

例如,一个最小的HTML看起来像这样:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <script data-main="scripts/main" src="scripts/require.js"></script>
    </head>
    <body>
    </body>
</html>

这将从“脚本/要求.js”加载RequireJS,然后告诉它在“脚本/Main.js”处加载脚本以开始加载过程(您可能想要更新两个路径--请注意,data-main不需要.js扩展)。

然后,主脚本应该是非常简单的东西,如:

代码语言:javascript
复制
// Set up any config you need (you might not need this)
requirejs.config({
  basePath: "/scripts"
});

// Tell RequireJS to load your main module (and its dependencies)
require("mainmodule");

一般来说,你在这里遇到的不是TypeScript问题,而是RequireJS问题。我会花更多的时间尝试使用just Require (可能是纯JavaScript的,这样更清楚),并查看它的工作示例,这样你就可以先让它工作,然后再添加其他部分。

票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38817636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档