我正在使用TypeScript 1.6.2和atom-typescript。尝试在单独的文件上使用命名空间:
// Main.ts
import * as _ from 'lodash'
namespace Test
{
export var value = true
}
// Another.ts
namespace Another
{
function Testing()
{
return Test.value == true
}
}
我尝试使用引用,但仍然无效,也有一个有效的tsconfig.json,它的设置解决了包含定义和文件的问题:
{
"compilerOptions": {
"noEmit": true
},
"compileOnSave": false,
"filesGlob": [
"./**/*.ts",
"./Scripts/typings/**/*.d.ts",
"!./node_modules/**/*.ts"
],
"files": [
"./Scripts/typings/tsd.d.ts"
]
}
答案 0 :(得分:2)
因为你在'lodash'中有`import * as _,这使得文件成为一个模块。 https://basarat.gitbooks.io/typescript/content/docs/project/modules.html
如果您正在使用模块...不要使用名称空间,因为它只是一个不必要的间接点。每个文件的变量(包括名称空间)都与其他文件不同。