使构造函数跨js文件可用

问题描述 投票:0回答:2

我调用以下构造函数:

  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 constructor requirejs
2个回答
0
投票

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

在主文件中:

import { ActivityTracker } from 'somefileurl'

deck.tracker = new ActivityTracker();

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

function ActivityTracker() {}

export ActivityTracker

0
投票

您只需要先导入它:

在您的单独文件中:

function ActivityTracker() {}
export ActivityTracker;

在您的主文件中:

import { ActivityTracker } from "./separateFile";
deck.tracker = new ActivityTracker();
© www.soinside.com 2019 - 2024. All rights reserved.