如题。使用两个同名常量会报错。
------a.ts
const greeting: string = "abc";
const temp: { x: number, y: number } = { x: 5, y: 77 };
console.log(temp);
const point: { x: number } = temp;
console.log(point);
------b.ts
const greeting: string = "abc";
const temp: { x: number, y: number } = { x: 5, y: 888};
console.log(temp);
错误信息:
也就是如何将每个文件都变成一个独立的模块。其中的变量、常量等都是独立的,和其他文件的同名变量、常量无关。
按说,一个独立的文件就是一个模块,(ECMAScript)他们作用域不同,同名变量、常量是不同的东西,不应该报错啊,为什么报错?
是不是需要什么设置啊
这个问题解决了。ts文件分两种,一种是全局文件,另一种是模块文件。如果文件中有export或import就认为是模块文件,否则认为是全局文件。全局文件中的常量等不能同名。在文件中加入export {},就会变成模块文件,就不会报错了,导出空,不影响程序。
建议用对象包裹,不然没法使用,可以参考vuex的module写法
你编译后的js
文件是同一个?