我有2个.ts文件,
C.ts:
export let c: any = 10;
A.ts:
import { c } from "./C";
c = 100;
当我编译A.ts时,出现错误:
error TS2539: Cannot assign to 'c' because it is not a variable.
我该如何解决?
答案 0 :(得分:2)
使用对象作为名称空间:
export let state = {
c : 10 as number;
}
答案 1 :(得分:1)
看,这里有一个混乱。 Axel Rauschmayer博士在this article:
中钉了它CommonJS模块导出值。 ES6模块导出绑定 - 实时 与价值观的联系。
//------ lib.js ------
export let mutableValue = 3;
export function incMutableValue() {
mutableValue++;
}
//------ main1.js ------
import { mutableValue, incMutableValue } from './lib';
// The imported value is live
console.log(mutableValue); // 3
incMutableValue();
console.log(mutableValue); // 4
// The imported value can’t be changed
mutableValue++; // TypeError
所以你有两个选择:
答案 2 :(得分:0)
您当然可以只导出为内部包含 c
变量的对象,例如:
export const options = {
c: 10 as number
}
答案 3 :(得分:-2)
无法分配c变量,因为您使用了let
export let c: any = 10;
你必须像
一样export c: any = 10;