Google的Closure编译器有一个“@typedef”标签,但是可以在您的代码中使用它们吗?(我知道它会起作用,但它会让人不悦吗?)这是我喜欢的类型/***Theplanobject'stypedef*@typedef{Object}*/Types.Plan={"style":"bordersmall","width":"50%","height":"40%","x":"20%","y":"10%","clickable":true,"moveable":true};然后我可以在我的JSDoc注释中使用该类型。这让我的IDE可以自动完成传递的参数所以声明的对象没有在代码中的任何地
当使用typescript定义React组件时,我们可以这样写:classSomeComponentextendsReact.Component{//...}有没有办法使用jsdocannotations做同样的事情?并对Prop进行类型检查。 最佳答案 我更喜欢以下形式(es2015+@types/react):/***@typedef{object}Props*@prop{string}className*@prop{number}numberProp**@extends{Component}*/exportdefaultcla
假设我有一些对象,使用jsdoc3评论它的方法是什么?/***Testobject*@namespacetest*/vartest={/***Somedefaults*@memberOftest*/defaults:{'test1':1,'test2':2},/***Somthingelse*@memberOftest*/deep:{/***Someoption*@memberOf{test.deep}*/option:{},/***Somemethod*@memberOftest.deep*/method:{},/***Someoption*@memberOf{test.deep.e
我想使用jsdoc模块从一些源代码中提取文档条目。我已经安装了jsdoc模块,我可以在命令行中使用jsdoc。但是当我在我的代码中require("jsdoc")时,nodejs会抛出一个错误,提示Cannotfindmodule'jsdoc'。我有nodejsv0.8.25和JSDoc3.3.0-alpha2。它在本地和全局安装。我可以使用jsdoc命令,我的node_modules文件夹中有jsdoc。我看不出问题出在哪里。除了如何在命令行界面中使用它或如何记录js源代码之外,我在哪里可以找到有关jsdoc的文档。我想要一些API文档。 最佳答案
我有一个JavaScript对象,它引入了一些公共(public)方法,我想使用JSDoc来记录它们。在源文件中,我以合理的顺序对这些函数进行了分组和排序,但是在生成JSDoc之后,我按字母顺序接收了所有这些函数,这没有多大意义。有什么办法可以保持输出的顺序吗?我找不到任何答案,但我也找不到这是不可能的。 最佳答案 简短的回答:在您的conf.json文件中,添加"sort":false的opts元素,其中sort标记JSDoc是否应使用字母排序。假设您正在使用conf.json文件来指定您的JSDOC配置选项:jsdoc-cpat
有没有一种方法可以避免为@property和@param键入两行单独的内容,如示例所示,在构造函数中参数和属性的名称相同。/***Classforrepresentingapointin2Dspace.*@property{number}xThexcoordinateofthispoint.*@property{number}yTheycoordinateofthispoint.*@constructor*@param{number}xThexcoordinateofthispoint.*@param{number}yTheycoordinateofthispoint.*@return
在jsDoc中,我可以像这样指定我的数组参数和成员:/***@constructor*@param{Array.}myArray*/functionsomeFunction(myArray){this.firstArray=myArray;/**@member{Array.}*/this.secondArray=[];}还有没有办法指定这些数组的length,或者minLength和maxLength? 最佳答案 我想您是在问是否可以在类型表达式中包含最小/最大长度(例如,Array.)。简而言之,答案是否定的。您需要在每个数组的描
如果我有一个将对象作为参数的JavaScript函数,我可以像这样使用JSDoc描述对象的预期属性:/***@parambar*@parambar.baz{number}*@parambar.qux{number}*/functionfoo(bar){returnbar.baz+bar.qux;}如果我使用ECMAScript6解构定义我的函数,而根本没有为实际参数对象命名,我该如何描述这些属性?constfoo=({baz,qux})=>baz+qux; 最佳答案 事实证明,JSDoc确实支持通过构成占位符名称进行解构。缺少官方文
我正在使用JSDoc版本3(https://github.com/jsdoc3/jsdoc)。当我运行该工具时,默认情况下它会生成HTML格式的文档。是否可以生成PDF格式的文档? 最佳答案 我建议你看看jsPDF.它非常酷且易于使用。您从上述方面下载的代码包含到达示例。WhatisjsPDF:AHTML5client-sidesolutionforgeneratingPDFs.Perfectforeventtickets,reports,certificates,younameit!例如生成html的pdf,只需编写如下代码。va
给定一个带有返回类的工厂的Angular应用程序,如下所示:angular.module('fooApp').factory('User',function(){functionUser(name){this.name=name;}User.prototype.greet=function(){return"Howdy,"+this.name;}returnUser;});使用ngdoc(jsdocAngular使用的特殊风格),如何在不将其定义为方法的情况下记录初始化程序?现在,这是我尝试过的:/***@ngdocservice*@namefooApp.User*@descripti