使构造函数可跨js文件使用

时间:2019-04-02 05:01:23

标签: javascript constructor requirejs

我正在调用以下构造函数:

  deck.tracker = new ActivityTracker();

如果我在同一文件/上下文中对此进行定义,则所有过程都将通过:

   function ActivityTracker() {}

但是我一动手

    function ActivityTracker() {}

到一个单独的文件,并在另一个文件被调用之前将其包括在内,范围将中断。如何在不更改此行的情况下解决此问题:

     deck.tracker = new ActivityTracker();

注意:导入必须是有条件的:if(window.location.href.indexOf(“ http://0.0.0.0”)== 0 || window.location.href.indexOf('http://local' )== 0){然后导入}。

因此无法使用只能是顶级的导入/导出。

2 个答案:

答案 0 :(得分:0)

您只需要先导入它即可

在单独的文件中:

function ActivityTracker() {}
export ActivityTracker;

在您的主文件中:

import { ActivityTracker } from "./separateFile";
deck.tracker = new ActivityTracker();

答案 1 :(得分:0)

您最好的选择是使用javascript es6 modules并从另一个文件导入功能。

在主文件中:

import { ActivityTracker } from 'somefileurl'

deck.tracker = new ActivityTracker();

然后在包含ActivityTracker函数的文件中:

function ActivityTracker() {}

export ActivityTracker