Javascript - 在浏览器中设置另一个模块的'let'变量



特别是我在最新版本的Google Chrome中对此进行了测试,但是我怀疑在Edge/firefox/Safari中是相同的(最后我知道Edge和Firefox隐藏了模块在实验javascript标志中)

在" globals.js"中,我有一个let scale。

// inside global.js
let scale = 1;

在另一个模块中,我想调整比例

// inside another js file
import { scale } from "../JS/globals.js";
scale = Math.min( scale + ((scale + delta) * speed), target);

但是我遇到了错误的"分配到常数变量"。

我想象的一种明显的方法是导出一个名为set_scale

的函数
// back in globals.js
export function set_scale (value) { scale = value };

我已经为Globals.js的其他一些变量做到了这一点。但是我想知道是否有人还有其他方法来克服出口/导入,尤其是如果我允许我避免做更多的事情来导出/导入。

您可以按照globals.js文件进行遵循:

export default {scale: 1} 

在其他模块中,以此方式使用它:

import global from "global" 
global.scale = ...
... = global.scale

最新更新