<分区>
假设我有 2 个文件:test1.ts
和 test2.ts
.这是test1的内容:
export const x = 1
这是test1的内容:
import { x } from './test2'
alert(x);
当我运行应用程序时,出现此错误:Uncaught ReferenceError: exports is not defined at test1.js:2
.
根据其他帖子,这个错误是由于网络浏览器不支持export
引起的。 , 和 require(...)
.要解决它,一种解决方案是使用类似 RequireJs 的东西。
所以我做了一些阅读。 This article对我来说是最容易理解的。
我在 _Layout.cshtml 文件中添加了这一行。
<script src="~/Scripts/require.js"></script>
创建配置文件。
requirejs.config({ baseUrl: '/Scripts/js' });
我已将test1 和test2 放在
/Scripts/js
中文件夹。运行应用程序,但仍然出现相同的错误:
Uncaught ReferenceError: exports is not defined at test1.js:2
.
如何使用 RequireJs 修复错误?
感谢您的帮助。
编辑
解决方案不一定是 RequireJs,但可以解决问题。 typescript
上有很多很棒的教程,但他们都假设人们正在使用 node 或 angularjs。我只需要向我的 asp.net mvc 应用程序添加一些 typescript 。只要它是一个文件,一切都很好。现在我想重新使用一些代码,因此我将它们组织在不同的文件中。不幸的是,由于该错误,我无法继续前进。我已经在那里坐了 3 天了。
编辑 2
我已经按照 @artem
的建议将 commonJs 添加到 amd ,
{
"compilerOptions": {
"module": "amd",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
}
现在我收到了这个错误。
Uncaught Error: Mismatched anonymous define()
module: function (require, exports, CommonTypes_1) {
//...
好像this question正在处理同样的问题。我应该把这段代码放在一个新文件中吗?