Javascript 构建配置中的单独类型脚本文件
我想我有一个相当复杂的问题 我使用了一个JS环境,其中JS脚本是单独执行的,比如说JS被用作脚本语言,比如minecraft或其他游戏中的LUA等等。当用户单击按钮并在我的应用程序的服务器端运行时,可以调用这些脚本 我将TS文件编译为JS,但Typescript transpiler不知道它编译的TS文件确实存在于同一环境中(生命)。例如: 类型d.tsJavascript 构建配置中的单独类型脚本文件,javascript,typescript,scope,Javascript,Typescript,Scope,我想我有一个相当复杂的问题 我使用了一个JS环境,其中JS脚本是单独执行的,比如说JS被用作脚本语言,比如minecraft或其他游戏中的LUA等等。当用户单击按钮并在我的应用程序的服务器端运行时,可以调用这些脚本 我将TS文件编译为JS,但Typescript transpiler不知道它编译的TS文件确实存在于同一环境中(生命)。例如: 类型d.ts interface Person { name: string; age: number; } interface Car
interface Person {
name: string;
age: number;
}
interface Car {
maxv: number;
brand: string;
}
var steven = new Person();
var steven = new Car();
module person {
export function run() {
var steven = new Person();
// further script code
}
}
person.ts
interface Person {
name: string;
age: number;
}
interface Car {
maxv: number;
brand: string;
}
var steven = new Person();
var steven = new Car();
module person {
export function run() {
var steven = new Person();
// further script code
}
}
car.ts
interface Person {
name: string;
age: number;
}
interface Car {
maxv: number;
brand: string;
}
var steven = new Person();
var steven = new Car();
module person {
export function run() {
var steven = new Person();
// further script code
}
}
就我而言,这是有效的代码person.js
可能绑定到用户单击的按钮上,car.js
可能是我服务器上的作业脚本。这些脚本完全独立执行,但Typescript不知道这一点。这就是为什么我会得到一个错误,我可能无法将steven
设置为与以前不同类型的变量
有没有办法告诉Typescript“嘿,这些文件不在一起”
我已经考虑过将每个脚本放入一个名称空间
person.ts
interface Person {
name: string;
age: number;
}
interface Car {
maxv: number;
brand: string;
}
var steven = new Person();
var steven = new Car();
module person {
export function run() {
var steven = new Person();
// further script code
}
}
。。。但我不喜欢这种方法。将它们拆分为单独的项目,并将它们打包为节点模块。它们将被单独编译,并且可以相互使用。:)我也想过,但我必须用+100个文件。这不是一个很好的解决方案。同样的情况也适用于每个脚本都有一个
tsconfig.json
。它们真的没有任何链接吗?它们只是做不同事情的文件所有的文件都集中在一起?他们在一起的原因是什么?还有,为什么要为所有人生成一个接口文件?为什么不依赖文件本身来告诉您它导出的内容的类型呢?嗯,这些文件可能会导入其他文件。但在大多数情况下,它们不会。将它们拆分为单独的项目,并将它们捆绑为节点模块。它们将被单独编译,并且可以相互使用。:)我也想过,但我必须用+100个文件。这不是一个很好的解决方案。同样的情况也适用于每个脚本都有一个tsconfig.json
。它们真的没有任何链接吗?它们只是做不同事情的文件所有的文件都集中在一起?他们在一起的原因是什么?还有,为什么要为所有人生成一个接口文件?为什么不依赖文件本身来告诉您它导出的内容的类型呢?嗯,这些文件可能会导入其他文件。但在大多数情况下,他们没有。