繁体   English   中英

传递全局变量以导入JS模块

[英]Pass global variable to import JS modules

假设我有两个使用webpack导入的JS文件。 我想创建可以在整个应用程序中使用的全局变量。 问题是经过大量错误尝试后,我无法这样做。 我曾问过类似的问题,但这种情况是独特的(加上答案不起作用)

我已经将其缩小为最简单的形式,可以解释我要尝试做的事情。

一个.js

class oneJS {
    constructor() {
        var windowWidth = $(window).width()
    }
}
export default oneJS

two.js

class twoJS {
    constructor() {
        if (windowWidth >= 1200) {
            console.log('greater than');
        } else {
            console.log('less than');
        };
    }
}
export default twoJS

index.js

import oneJS from 'one.js';
new oneJS();

import twoJS from 'two.js';
new twoJS();

一如既往,在此先感谢。

您可以将值存储为OneJS上的实例属性,并利用构造函数注入将oneJs实例注入需要访问相同值的所有其他类实例,例如

一个.js

class OneJS {
    constructor() {
        this.windowWidth = $(window).width(); // Store the value on the instance
    }
}
export default OneJS;

two.js

class TwoJS {
    constructor(one) {
        if (one.windowWidth >= 1200) {
            console.log('greater than');
        } else {
            console.log('less than');
        }
    }
}
export default TwoJS

index.js

import OneJS from 'one.js';
import TwoJS from 'two.js';

const oneJS = new OneJS();

new TwoJS(oneJS);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM