2016-12-29 5 views
0

grunt-tsを使用して、指定したファイルを指定してもアプリケーションが正常に動作しますが、そのオプションは高速コンパイルをサポートしていないので、私の.tsファイルはdistフォルダにありますグランツtsでtypescriptをコンパイルするときのrequire.jsとsourcemapsの問題

2つの問題があります。最初に、インポートされたファイルを読み込むことができません。クイックフィックスとして、require.jsファイルのload fnを編集して、すべての依存関係が正しくロードされていますが、ソースマップが機能しなくなったため、クロムインスペクタの空白ファイルが表示されます(もちろん、汚れたハックに頼っている)。

私はrequirejsにあまり慣れていないので、これが私の側で誤った設定、バグ、または欠落しているものであるかどうかはわかりません。

ts: { 
     options: { 
     module: 'amd', 
     target: 'es5', 
     experimentalDecorators: true 
     }, 
     dev: { 
     src: ['client-app/**/*.ts'], 
     outDir: "dist", 
     watch: '.' 
     } 
    }, 

私だけのエントリポイントであるbootstrap.jsとrequire.js configファイル

requirejs.config({ 
    baseUrl: '.', 
    waitSeconds: 20 
}); 

requirejs(['/init'], function(module) { 
    module.main() 
}); 

コンパイルinitファイル

の簡略化するTSに関連するマイ面倒な設定は、
define(["require", "exports", './section-manager.view'], function (require, exports, section_manager_view_1,) { 
    "use strict"; 
    function main() { 
     /// 
    } 
    exports.main = main; 
}); 
//# sourceMappingURL=init.js.map 

html

<script src="/js/lib/require.js" data-main="/bootstrap"></script> 

すべてのヘルプは高く評価され、感謝

編集:

System.jsまたは@Luis答えを使用して、ロードの問題を解決します。 sourcemapの問題は絶対モジュール名を使用しないでくださいTSオプション

+0

commonjsモジュールで動作するものを試してみると、簡単になります。 Browserify、JSPM、またはWebpackを試してください。彼らはすべてTSプラグインを持っています。 – elclanrs

+0

どのようなエラーが表示されますか? – randominstanceOfLivingThing

+0

@elclanrs最初にブラウジングしようとしましたが、新しいインポート構文を使用していてノード構文ではないので、多くのエラーが発生しました – Zagen

答えて

1

sourceRootまたは

inlineSourceMap: true, 
inlineSources: true 

を使用することによって解決されます。絶対名を使用する場合、RequireJSは、モジュール名からパスを生成する際に変更したくないと仮定し、ではなく、に拡張子.jsを追加します。あなたは相対パスを使用する必要があり、またはあなたがこれを行うことができます:

これにより、RequireJSは自動的に.js拡張子を追加します。

+0

私はそれについても何かを読んだことがありますが、(それは多分私が言ったはずのことです)私が最初に試したことですが、もしそうすれば、init.jsは読み込まれません。しかし、確認するためにもう一度チェックしてみましょう – Zagen

+0

私はちょうどチェックし、それは動作しませんが、 'requirejs.config({baseUrl: '/'});'その行の前に '/'最初の初期化では、それは動作します。しかし、ソースマップが動作していない、私はちょうどSystem.jsで試したと私は同じ結果を得る、それは動作しますが、ソースマップはロードされていないようだ、その上のアイデア? – Zagen

+0

ええ、一緒に動作する 'baseUrl'とモジュールパスを使用する必要があります。ソースマップの読み込みをトリガーするにはどうしますか?負荷をトリガーしたときにソースマップをロードするために実行されているネットワーク要求は何ですか。ネットワーク要求は成功していますか?実際のソースマップをロードしていますか?この情報で質問を編集する必要があります。 – Louis

関連する問題