巴别塔如何将模块视为一个模块

时间:2016-03-07 19:57:55

标签: javascript import module export ecmascript-6

我在模块上经历了2ality article,但是,我很困惑,系统如何知道将模块视为模块?

import React from "react";
import { hello } from "./hello.js";

var Ctrl = React.createClass ({
    render : function () {
        return (
            <div .... random data
            ></div>
        );
    }
});
export default Ctrl;

对我来说,模块只是一个写有全局代码的文件。我们通过文件名引用模块。

然而,我想知道当我们构建生产构建时,这一切是如何凝聚在一起的。

系统如何知道这是一个模块&amp;不只是宣布全球变量?

实际上它是import / export命令说:'啊哈,这是一个模块!'

请原谅新手问题。

2 个答案:

答案 0 :(得分:1)

  

实际上它是connect / import命令说:'啊哈,这是一个模块!'

是!

更确切地说,export关键字指示JavaScript引擎(或转换器)将外部文件作为模块加载。

答案 1 :(得分:0)

如果系统你的意思是浏览器,它不知道,你通常使用另一个为你实现模块概念的工具,它转换(放入代码)作为模块系统为你的浏览器明白。

这样的一些工具在node,browserify,webpack中是必需的 *,而不是