2

なぜsystemjsでes6モジュールをインポートするために.js拡張子を使用する必要がありますか?例えば:ES6 + SystemJs - es6モジュールをインポートするために.js拡張子を使用する必要があるのはなぜですか?

import { multiplier } from "adder.js"; // ok 
import { double, square } from 'modules'; // error 

var timesTwo = multiplier(2); 

console.log(timesTwo(4)); 

エラーメッセージ:

GET http://local-host/projects/es6/src/modules 404 (Not Found)Z @ system.js:4(anonymous function) @ system.js:4(anonymous function) @ system.js:4(anonymous function) @ system.js:5(anonymous function) @ system.js:5(anonymous function) @ system.js:5(anonymous function) @ system.js:5(anonymous function) @ system.js:5(anonymous function) @ system.js:5(anonymous function) @ system.js:4 system.js:4 Uncaught (in promise) Error: Error: XHR error (404 Not Found) loading http://local-host/projects/es6/src/modules (…)

これはsystem.jsと私のHTMLは次のとおりです。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>ES2015 Module Example</title> 
</head> 
<body> 
    <script src="lib/system.js"></script> 
    <script> 
     System.config({ 
      "baseURL": "src", 
      // 'plugin-babel' or 'traceur' or 'typescript' 
      transpiler: 'plugin-babel', 
      // or traceurOptions or typescriptOptions 
      babelOptions: { 

      }, 
      map: { 
       'traceur': './lib/traceur.min.js', 
       'plugin-babel': './lib/plugin-babel/plugin-babel.js', 
       'systemjs-babel-build': './lib/plugin-babel/systemjs-babel-browser.js' 
      } 
      } 
     }); 
     System.import("app.js"); 
    </script> 
</body> 
</html> 

私が見逃しているものを任意のアイデア?

答えて

1

システムjsは、モジュール名に.jsを追加しないためです。いくつかのモジュールローダー/バンドル業者(Node、webpackなど)がこれを行っていますが、にはがあることを指定する標準はありません。

これにはconfiguration optionがありますが、廃止予定です。

+0

です。ありがとう。 – laukok

関連する問題