JSFiddle - React, Tailwind, and code Playground

HTML

<script src=" 	  https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.15/require.min.js"></script>

JavaScript

console.log("start")

define("Employee", ["exports", "Company"], function(Company) {
    function Employee(name) {
        this.name = name;
        this.company = new Company.Company(name + "'s own company");
    };
    exports.Employee = Employee;
});
define("Company", ["exports", "Employee"], function(Employee) {
    function Company(name) {
        this.name = name;
        this.employees = [];
    };
    Company.prototype.addEmployee = function(name) {
        var employee = new Employee.Employee(name);
        this.employees.push(employee);
        employee.company = this;
    };
    exports.Company = Company;
});

define("main", ["Employee", "Company", "exports"], function (Employee, Company, exports) {
    console.log(exports);
    var john = new exports.Employee("John");
    var bigCorp = new exports.Company("Big Corp");
    bigCorp.addEmployee("Mary");
});

require(["main"]);