Javascript 来自另一个文件的systemjs变量

Javascript 来自另一个文件的systemjs变量,javascript,systemjs,jspm,Javascript,Systemjs,Jspm,我的项目中有两个javascript文件。一个(index.js)声明材质对象,另一个(nav.js)向材质添加方法 我正在使用SystemJS将这两个文件导入我的HTML页面 当页面加载时,我从第二个文件中得到一个错误,表示材料未定义 如果我在第二个文件之前加载第一个文件,那么: <script src="./jspm_packages/system.js"></script> <script src="./config.js"></script>

我的项目中有两个javascript文件。一个(index.js)声明
材质
对象,另一个(nav.js)向
材质
添加方法

我正在使用SystemJS将这两个文件导入我的HTML页面

当页面加载时,我从第二个文件中得到一个错误,表示
材料
未定义

如果我在第二个文件之前加载第一个文件,那么:

<script src="./jspm_packages/system.js"></script>
<script src="./config.js"></script>
<script>
    System.import("./scripts/index.js");
    System.import("./scripts/nav.js");
</script>
和nav.js:

var $ = require('jquery');

Material.initHeader = function () {
  console.log('initializing header...');
};
这是我得到的错误

未捕获引用错误:未定义材质 在nav.js:3


有什么帮助吗?

模块是独立的。它们不会在加载时修改全局命名空间。如果您想从另一个模块中获取某些内容,则必须将其导入:

var $ = require('jquery');
var ix = require('./index.js');

ix.Material.initHeader = function () {
  console.log('initializing header...');
};

谢谢我花了一整天的时间来处理这个问题,并接近这个目标,但我只是在做
var Material=require('./index.js');Material.initHeader…
var $ = require('jquery');
var ix = require('./index.js');

ix.Material.initHeader = function () {
  console.log('initializing header...');
};