我想知道在typescript中组织接口定义的推荐方法是什么.在我的项目中,我有很多不同的课程.每个类都可以有一个配置界面.目前,我已将所有这些接口定义收集到一个文件中,Interfaces.ts并从不同位置引用该文件.
有没有更好的办法?
示例:https://github.com/blendsdk/blendjs/blob/devel/blend/src/common/Interfaces.ts
我在两个单独的文件中有两个类,一个从另一个扩展.基类包含一些import使用节点模块的语句.我不清楚为什么派生类(在一个单独的文件中)不能识别基类!!! ???
有人可以澄清一下吗?
// UtilBase.ts
/// <reference path="../typings/node.d.ts" />
/// <reference path="../typings/packages.d.ts" />
import * as path from "path"; // <---- THIS LINE BREAKS THE BUILD!!!!
namespace My.utils {
export class UtilBase {
protected fixPath(value: string): string {
return value.replace('/', path.sep);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后
// UtilOne.ts
/// <reference path="UtilBase.ts" />
namespace My.utils {
export class UtilOne extends My.utils.UtilBase {
}
}
Run Code Online (Sandbox Code Playgroud)
编译后我得到:
src/UtilOne.ts(6,47): error TS2339: Property 'UtilBase' does not
exist on type 'typeof utils'
Run Code Online (Sandbox Code Playgroud) 有没有办法在TypeScript中定义动态对象类型?在下面的示例中,我想通过说:"我的复杂类型"来定义类型:
"我的复杂类型"类型的对象是具有"任意数量的属性"的对象,但这些属性的值必须是IValue类型.
// value interface
interface IValue {
prop:string
}
// My Complex Type
myType = {
field1:IValue
field2:IValue
.
.
.
fieldN:IValue
}
// Using My Complex Type
interface SomeType {
prop:My Complex Type
}
Run Code Online (Sandbox Code Playgroud) VSCode 中是否可以通过 Markdown 链接跳转到行号?
例如
| [/path/to/MyFile.ts](/path/to/MyFile.ts<---line-number) Jump to MyFile.ts line 123
Run Code Online (Sandbox Code Playgroud)
谢谢。
我对package.json文件中的@types依赖项有一个愚蠢的问题:
在以下URL中,解释了应将类型安装为运行时依赖项npm install --save @types/lodash
TS 2.xd.ts。
但是对我来说,将@types/....软件包安装为dev依赖更有意义npm install --save-dev @types/lodash
有什么想法吗?
有谁知道应该如何使用 Vue3 和 TypeScript 实现类型增强的工作示例?我一直在尝试遵循 Vue2 文档,在 Vue3 中使用相同的文档但没有成功,并且在过去 3 个小时的搜索中没有任何结果。
似乎应该增加模块中的Vue对象vue-class-component才能工作,但是如何呢?
我的实现类似于以下内容:
有什么建议吗?
https://vuejs.org/v2/guide/typescript.html#Augmenting-Types-for-Use-with-Plugins
import { App, Plugin } from "vue";
export interface IHelloModule {
sayHello: (name: string) => string;
}
export const helloPlugin: Plugin = (app: App, options) => {
const helloModule:IHelloModule = {
sayHello: function(name: string) {
return `Hello ${name}`;
}
};
app.provide("$hello", helloModule);
};
Run Code Online (Sandbox Code Playgroud)
import { Vue } from 'vue-class-component';
import { IHelloModule } from "@/hello";
declare module "vue/types/vue" {
interface Vue …Run Code Online (Sandbox Code Playgroud) 如何配置composer以便它始终加载给定的类?composer.json中是否可以进行此类配置?
我有一个需要一直加载的实用程序类,无论PHP代码的哪个部分正在执行.
根据:http://docs.travis-ci.com/user/deployment/npm/
你应该看到一个api密钥npm login.但在我做npm login(或npm adduser)之后,并cat .npmrc没有api键.
有谁知道我在做错了什么?
typescript ×5
npm ×3
composer-php ×1
es6-modules ×1
namespaces ×1
node.js ×1
npm-install ×1
php ×1
travis-ci ×1
vue.js ×1
vuejs3 ×1