2017-10-10 15 views
-1

requireはブラウザには表示されませんが、なぜそれはnodejs固有のものですか? typescript/ES6のimport { some-module } from 'some-module-location'は実際には同じですか?ブラウザでJavascriptを使用する必要があります。

また、<script>を使用してjsファイルをウェブページに埋め込む代わりにimportを使用できますか?

+0

ES6より前のブラウザベースのJavaScriptでモジュール式の読み込みを行う「実際の」方法がなかったので、 'require'はCommonJS仕様のstopgapです(少なくともnode.jsの観点から)。 CommonJS、AMD、jQueriesのプラグイン・システム(一種)はすべて、ES6が来るまでその役割を満たそうとし、 'import'を導入しました。 – zero298

+0

「あなたは

0

私はrequireがブラウザ上ではなく、なぜ、それが特定のnodejsされていることを知っていますか? typescript/ES6のimport { some-module } from 'some-module-location'は実際には同じですか?

あなたは正しい、requireネイティブブラウザ機能ではありません。ただし、これはCommonJS仕様の一部ですが、node.jsでは一意ではありません。 ES2015/ES6の前には、JavaScriptのモジュール化された編成/ロードを行うネイティブな方法はありませんでした。これに対処するために、CommonJSとAsynchronous Module Definition(AMD)という2つの主な方法論が出てきました。

両方とも、特定のモジュールをコンテキストにロードする「キーワード」がrequireです。ただし、それぞれ異なる方法でロードします。あなたはDifference between RequireJS and CommonJSのような異なる質問の違いについてたくさん読むことができます。主な違いは、CommonJSは同期であり、AMDは非同期であることです。

異なるフレームワークとライブラリでは、異なるローダーが使用されていました。 AMDは、require.js、Dojo、およびAngularJSによって使用されます(仕様に厳密には似ていませんが)。 CommonJSの最も注目されている実装は、node.jsによる実装です。

関連する問題