以前,我在C ++开发方面经验最为丰富,在其中包含另一个文件非常容易。在打字稿中,这似乎并不那么琐碎。
有一些巨大的数组,我只想声明一次为const,然后在以后的核心逻辑中使用它们。由于这些数组的大小,我不想用它来污染我的主代码,我想将其放入一个外部ts文件中。我已经尝试过使用Google并包含所有可能的方法,但是看来我做对了。
我的tsconfig.json:
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"outDir": "out",
"lib": [
"es6"
],
"sourceMap": true,
"rootDir": "src",
"strict": true, /* enable all strict type-checking options */
/* Additional Checks */
"noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
"noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
},
"include": [
"src/*"
],
"exclude": [
"node_modules",
".vscode-test"
],
"files": [
"src/extension.ts",
"src/templates.ts",
"src/intellisense.ts",
]
}
主要代码是extension.ts,其他两个应该只包含一些常量变量。来自intellisense.ts的示例代码:
import * as vscode from 'vscode';
const completionTypes = [
new vscode.CompletionItem('text1'),
new vscode.CompletionItem('text2'),
new vscode.CompletionItem('text3'),
... // A hundred more entry
];
但是,当我尝试在extension.ts中的代码中使用completionTypes
时,短绒棉会说Cannot find name 'completionTypes'.ts(2304)
如何用打字稿组织我的代码?
答案 0 :(得分:1)
您需要导出completionTypes
以使其可用于其他文件:
intellisense.ts:
import * as vscode from 'vscode';
export const completionTypes = [
// ...
];
extension.ts:
import { completionTypes } from './intellisense';
//...