SystemJS导入“;基本脚本“;来自目录,类似于Python

SystemJS import "base script" from directory, like in Python

本文关键字:类似于 Python 脚本 导入 SystemJS      更新时间:2024-03-12

是否可以使用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

模块1/__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

bootstrap.js

导入目录以导入基本脚本(__init__.jsmodule1.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"

这可能吗?如果目录中存在__init__.py,Python将该目录作为模块导入

# 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

是的,这是可能的。使用index.js文件:

模块1/index.js

然后您可以import "./module1";

JavaScript本身不是一种基于模块的语言(还不是)。为了做到这一点,您需要包括另一个库,如RequireJS