我调用以下构造函数:
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){then import}。
所以使用只能是顶级的导入/导出不起作用。
您最好的选择是使用javascript es6 modules并从另一个文件导入该函数。
在主文件中:
import { ActivityTracker } from 'somefileurl'
deck.tracker = new ActivityTracker();
然后在包含ActivityTracker
函数的文件中:
function ActivityTracker() {}
export ActivityTracker
您只需要先导入它:
在您的单独文件中:
function ActivityTracker() {}
export ActivityTracker;
在您的主文件中:
import { ActivityTracker } from "./separateFile";
deck.tracker = new ActivityTracker();