在 JavaScript(Node.JS) 中,我制作了一个如下所示的 config.js 文件,用于导出名称变量:
Config.js
export let name ="ayush";
我正在
index.js
文件中导入 name 变量
index.js
import {name} from "./config.js";
name ="Rishabh"
console.log(name);
但我越来越
Type Error:assignment to constant variable
。
我已经将变量声明为let,为什么还是出现上述错误?
我正在尝试更改另一个文件中的变量名称。但我收到错误,无法理解缺少什么 JavaScript 概念(导入仅是只读的)。
在 JavaScript 中,导入的绑定是只读的。您无法在导入它们的模块中更改它们的值。
这是因为导出可变变量可能会导致不可预测的行为和错误。
如果您想共享一个公共对象,并且该对象也需要可变,请导出一个 const 对象并修改它的属性。
配置.js
export const obj = {
name: 'xxx'
};
index.js
import {obj} from "./config.js";
obj.name ="Rishabh";
console.log(name);
请记住,在您的
index.js
文件中,您正在重新分配从 name
文件导入的 config.js
变量,这是不允许的。
您应该使用对象而不是原始值,因为即使对象本身作为常量导入,对象的属性也可以修改。
这样做是为了
Config.js
export let config = {
name: "ayush"
};
然后这样做
index.js
import { config } from "./config.js";
config.name = "Rishabh"; // modify the property of the object
console.log(config.name); // logs "Rishabh"
试试这个我希望它会起作用。