7

私はコードのドキュメントを作成するのが初めてで、角度のあるアプリケーションを grunt-ngdocs でドキュメント化しようとしています。

https://github.com/m7r/grunt-ngdocs-exampleから実際の例を複製しました

与えられた例には文書化されたコントローラーがないため、次のコードを使用して独自の文書化されたコントローラーを追加しました。

 /**
  * @ngdoc controller
  * @name rfx.controller:testCtrl
  * @description 
  * Description of controller.
  */
 .controller('testCtrl', function() {
 });

コマンド ラインから grunt を実行してドキュメントを作成しようとすると、次のエラー メッセージが表示されます。

Warning: Don't know how to format @ngdoc: controller Use --force to continue.

これを修正するにはどうすればよいですか? このガイドhttp://www.shristitechlabs.com/adding-automatic-documentation-for-angularjs-apps/を読みましたが、コントローラーを文書化しようとするとエラーメッセージが表示され続ける理由がわかりません:(ありがとうどんな助けでも!

4

3 に答える 3

5

サンプルコントローラーを文書化する方法は次のとおりです。

/**
 * @ngdoc function
 * @name appModernizationApp.controller:DetailsCtrl
 * @description
 * # DetailsCtrl
 * Controller of the appModernizationApp
 * This controller is responsible for showing the details of the page.
 * It gets initialized by requesting the JSON for types of rooms which is hosted on the server.
 * It also requests for the details of the room for an existing reservation if the reservation id is present in the route using <b>HRS.getRegisteredData(reservationId)</b>.
 * @requires $scope
 * @requires $http
 * @requires HRS
 * @requires $location
 * @requires $routeParams
 * @requires breadcrumbs
 * @requires UtilitiesService
 * 
 * @property {object} breadcrumbs:object breadcrumbs Handles the page level/navigation at the top.
 * @property {array} reservationDetails:array This holds the reservation details of the current/selected reservation.
 * @property {string} registerationErrorMsg:string This variable holds the error message for all registration services.
 * @property {string} roomSearchErrorMsg:string This variable holds the error message for all room search services.
 * @property {array} roomDetails:array This holds the room details object. This will be a fresh object coming from service response and will be manipulated as per the view model.
 * @property {boolean} submitted:boolean Holds the submitted boolean flag. Initialized with false. Changes to true when we store the details.
 * @property {number} reservationId:number Gets the reservation id from the route params.
 * @property {date} minDate:date Date filled in the minimum date vatiable
 * @property {boolean} isRoomDetailsVisible:boolean Controls the boolean flag for visibility of room details. Initialized with false.
 * @property {array} roomTypes:array Holds types of rooms from JSON.
 * @property {array} expirymonth:array Months from Jan to Dec
 * @property {array} expiryYear:array Years of a particular range
 * @property {array} cardtype:array Type of cards
 */
于 2016-01-11T11:41:14.490 に答える
2

サンプル リポジトリには、古いバージョンの がgrunt-ngdocs依存関係としてリストされているようです。@ngdoc controllerは 0.2.2 からサポートされていますが、grunt-ngdocs-exampleリストは ~0.1.1 です。最新のものを使用grunt-ngdocsすれば、問題なく使用できます。

Angular ドキュメントを生成するための「公式」ツールはdgeni + dgeni-packagesであることに注意してください。Angular 1.x で独自のドキュメントを生成するために使用されます。セットアップには時間がかかる場合がありますが、非常に柔軟で拡張性があります。


Edit I've forked grunt-ngdocs-example here、バージョンをアップグレードしgrunt-ngdocs、コントローラーの例を追加しました。

于 2015-12-15T22:06:54.427 に答える
1

dgeniを使用して、カスタム コントローラー テンプレートを追加します。

  1. コンテンツを使用して作成controller.template.htmlします(オブジェクト テンプレートから継承されますが、独自のテンプレートを作成できます)config/template/ngdoc/api{% extends "api/object.template.html" %}
  2. dgeni 構成に移動して拡張idTemplatesしますcomputeIdsProcessor

    config(function (computeIdsProcessor) {
    computeIdsProcessor.idTemplates.find(function (idTempl) {
        return idTempl.idTemplate === "module:${module}.${docType}:${name}";
    }).docTypes.push("controller");})
    
  3. "controller"に含めることを忘れないでくださいcomputePathsProcessor

    .config(function (computePathsProcessor) {
    computePathsProcessor.pathTemplates.push({
        docTypes: ['provider', 'service', 'directive', 'input', 'object', 'function', 'filter', 'type', 'controller'],
        pathTemplate: '${area}/${module}/${docType}/${name}',
        outputPathTemplate: 'partials/${area}/${module}/${docType}/${name}.html'
    });})
    
于 2017-10-23T08:49:42.410 に答える