1

ES6 JS ファイル (test.js) がある場合...

export default function() {
  let foo = "test"
  return foo
}

Babelを使用すると、トランスパイルしてindex.htmlファイルで呼び出すことができますか

<script src="js/text-min.js"></script>

別の js ファイルにインポートする必要なく、関数の使用を開始しますか? 例の場合。次の script タグには、次のコードが含まれます。これはWebpackで使用されています-

<script>
  var bar = new foo();
  console.log(bar);
</script>
4

3 に答える 3

0

上記のコードのトランスパイルされたバージョンは、次のように生成されます。

"use strict";

   Object.defineProperty(exports, "__esModule", {
     value: true
   });

  exports.default = function () {
     var foo = "test";
     return foo;
  };

ご覧のとおり、 __esModule という名前のエクスポート オブジェクトにプロパティを追加します。他には何もありません。そのため、import または require を使用せずにこのデフォルト関数を含める方法はありません。

于 2016-10-13T20:32:04.780 に答える
0

実際に探しているのはグローバル変数です (これはおそらく良い考えではありません)。例えば:

モジュール 1:

import {foo} from 'foo'; // still an ES6 module, just no export

// global variable 'bar'
window.bar = (...args) => foo(...args) + 6;

次に、モジュール 2 で:

bar(1, 3, 5);

これはモジュールを使用することの全体的なポイントを無効にするため、非常に控えめに使用する必要があることに注意してください。

于 2016-10-13T20:41:30.923 に答える