SystemJS импортирует "базовый скрипт" из каталога, как в Python


Можно ли импортировать "базовый скрипт" из каталога, подобного модулю, с помощью SystemJS, как у Python __init__.py?

Пример:

Структура каталогов

app/
  module1/
    __init__.js       // or module1.js
    module1.weeble.js
    module1.thingy.js
  module2/
    __init__.js       // or module2.js
    module2.weeble.js
    module2.thingy.js
  bootstrap.js

Module1/ _ _ init__.js

import Weeble from "./module1.weeble"
import Thingy from "./module1.thingy"

class Module1 {
  constructor() {
    this.weeble = new Weeble();
    this.thingy = new Thingy();
  }
}

export default Module1

Бутстрэп.js

Импорт каталога для импорта базового скрипта (__init__.js или module1.js) или чего-то еще:

import Module1 from "./module1"
import Module2 from "./module2"

let module1 = new Module1();
let module2 = new Module2();

// INSTEAD OF
// import Module1 from "./module1/__init__"
// OR
// import Module1 from "./module1/module1"

Возможно ли это? Python импортирует каталог в виде модуля, если __init__.py присутствует в этом каталоге

# so one doesn't have to type
from module/__init__.py import module_part

# but only
from module import module_part

# or to import the entire module 
import module
2 3

2 ответа:

Да, это возможно. Для этого используйте файл index.js:

Модуль 1 / индекс.js

Тогда вы можете import "./module1";

JavaScript сам по себе не является модульным языком языка (пока нет). Для этого вам нужно будет включить другую библиотеку, такую как RequireJS