我是TypeScript的新手,我正在尝试编写一个小的cli应用程序。
我想使用npm~command-line-args但它的定义不适用于typings
所以我认为创建自己的定义有多难。事实证明它比我预期的要难。
所以我的目标是导出一个模块,它只公开一个函数,也许是一个小类型的声明。
到目前为止我试过这个:
declare module 'command-line-args' {
export interface cliOptionDefinition {
name: string,
alias?: string,
type: BooleanConstructor|StringConstructor|NumberConstructor,
multiple?: Boolean,
defaultOption?: any
}
export = function commandLineArgs <R> ( optionDefinitions: cliOptionDefinition[] ) {};
}
但是我得到了这个错误:
error TS1183: An implementation cannot be declared in ambient contexts.
答案 0 :(得分:0)
的作用:
export function commandLineArgs <R> ( optionDefinitions: cliOptionDefinition[] );
以你期望的方式工作? (省略=
和{}
。如果您打算提供commandLineArgs
的实现,那么您希望从非环境中导出它(删除declare
等等,最好是外部的,模块的(或者,命名空间)。
答案 1 :(得分:0)
你应该看看Polymer项目(例如polymer-cli) - 他们使用带有Typescript的命令行参数..