2つのファイル:test1.ts
とtest2.ts
があるとします。RequiresJsを使用してtypescriptモジュール(asp.net mvc/visual studio環境)をロードする方法
import { x } from './test2'
alert(x);
私はアプリケーションを実行すると、私はこのエラーを取得:Uncaught ReferenceError: exports is not defined at test1.js:2
は
export const x = 1
これはTEST1の内容は次のとおりです。これは、TEST1の内容です。
他の投稿によると、このエラーは、Webブラウザがexport
およびrequire(...)
をサポートしていないという事実によって引き起こされます。これを解決するには、解決策の1つは、RequireJsのようなものを使用することです。
私はいくつかの読みをしました。 This articleは私が理解するのが最も簡単でした。
私は_Layout.cshtmlファイルに次の行を追加しました。
<script src="~/Scripts/require.js"></script>
設定ファイルを作成します。
requirejs.config({ baseUrl: '/Scripts/js' });
私は
/Scripts/js
フォルダにtest1のとTEST2を入れています。アプリケーションを実行しても、同じエラーが発生します。
Uncaught ReferenceError: exports is not defined at test1.js:2
。 RequireJsを使用してエラーを修正する方法
?
ありがとうございます。
EDIT
ソリューションはRequireJsである必要はありませんが、何も問題を修正します。 typescript
には非常に多くの偉大なチュートリアルがありますが、それらはすべて人々がノードまたはangularjを使用していることを前提としています。私が必要とするのは、私のasp.net mvcアプリケーションにいくつかのタイスクリプトを追加することです。それが1つのファイルである限り、状況は良好でした。今度はコードの一部を再利用したいので、別のファイルにまとめました。残念ながら、私はそのエラーのために前進することはできません。私は3日間そこに座っていました。
EDIT 2
私は今、私はこのエラーを取得しています、あなたは@artem
により示唆されるようにamdの
{
"compilerOptions": {
"module": "amd",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
}
}
をcommonJsを追加しました。
Uncaught Error: Mismatched anonymous define()
module: function (require, exports, CommonTypes_1) {
//...
this questionは同じ問題を扱っているようです。私はこのファイルを新しいファイルに入れるべきですか?
'exports not defined'エラーは、' test1.ts'と 'test2.ts'をデフォルトで' module = CommonJS'オプションでコンパイルしたことを示します。 RequireJSの場合は、コンパイラオプションで 'module = AMD'を使用する必要があります。 – artem
@artem、 'EDITを参照してください。 – Richard77
私は別の似たような質問を見つけた、それは働く答えがあるようです:https://stackoverflow.com/questions/34930285/mismatched-anonymous-define-module-typescript-with-amd -and-export-module – artem