如何用grunt-ngdocs创buildapi文档
我试图通过grunt-ngdocs创buildAPI文档。 部分被创build,但index.html没有正确的链接。
我在我的gruntfile.js中:
module.exports = function (grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), karma: { unit: { configFile: 'karma.conf.js' } }, uglify: { options: { // the banner is inserted at the top of the output banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n' }, dist: { files: { 'web/js/app.min.js': ['web/js/app.js'] } } }, ngdocs: { options: { dest: 'docs', scripts: ['web/js/app.js'], title: 'My Documentation' }, api: { src: ['web/**/*.js'], title: 'API Documentation' } }, clean:['docs','testResult'] }); grunt.loadNpmTasks('grunt-karma'); grunt.loadNpmTasks('grunt-ngdocs'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-clean'); grunt.registerTask('default', ['clean','uglify', 'ngdocs', 'karma']); };
和我的js文件是这样的
/** * @ngdoc overview * @ngdoc directive * @name myApp.maincontroller:controller * @description * * # myApp * The factoryName is my favorite service in the world. * */ var myApp = angular.module('myApp',[]); myApp.controller("MainController", function($scope) { $scope.model = { myValue: "Run you fools!" }; }); /** * @ngdoc function * @name mySuperFunction * @returns {int} The int representing a Firebase resource */ function mySuperFunction() { var i = 5; var j = 5; i += j; return i; }
但是当我跑步
grunt
在命令行中,结果是这样的
C:\Users\Lino Simões\Documents\bitbucket\test>grunt -d --force Running "clean:0" (clean) task [D] Task source: C:\Users\Lino Simões\Documents\bitbucket\test\node_modules\grun t-contrib-clean\tasks\clean.js Cleaning docs...OK Running "clean:1" (clean) task [D] Task source: C:\Users\Lino Simões\Documents\bitbucket\test\node_modules\grun t-contrib-clean\tasks\clean.js Cleaning testResult...OK Running "uglify:dist" (uglify) task [D] Task source: C:\Users\Lino Simões\Documents\bitbucket\test\node_modules\grun t-contrib-uglify\tasks\uglify.js File web/js/app.min.js created: 796 B → 210 B Running "ngdocs:api" (ngdocs) task [D] Task source: C:\Users\Lino Simões\Documents\bitbucket\test\node_modules\grun t-ngdocs\tasks\grunt-ngdocs.js Generating Documentation... DONE. Generated 2 pages in 256ms. Running "karma:unit" (karma) task [D] Task source: C:\Users\Lino Simões\Documents\bitbucket\test\node_modules\grun t-karma\tasks\grunt-karma.js INFO [karma]: Karma v0.12.17 server started at http://localhost:9876/ INFO [launcher]: Starting browser PhantomJS INFO [PhantomJS 1.9.7 (Windows 7)]: Connected on socket dFX-dKGVINA6PBjB5Gu9 wit h id 91061839 PhantomJS 1.9.7 (Windows 7): Executed 8 of 8 SUCCESS (0.008 secs / 0.004 secs) Done, without errors.
所以,这会产生2个文件,但是当我去index.html文档下我有这样的:
但在我的文档/ partials / api /我有由ngdocs创build的部分。
我的项目树是这样的:
你的web / js / app.js中有angular.js和angular-animate.js吗? 核实。 并添加到“选项” html5Mode: false
对于ng1.6为我工作:
ngdocs: { all: ['app/**/*.js'] }
你会看到旧版本的angular1.2。*英寸
cat docs/js/angular.min.js | grep v1 AngularJS v1.2.16
但它不影响你的源文件。
另外,不要忘记运行服务器生成的文件夹文档:
例如使用python
pushd ./dist; python -m SimpleHTTPServer 9000; popd #v 2.* pushd ./dist; python -m http.server 9000; popd #v 3.*
不幸的是,添加angular.js和angular-animate.js脚本选项不适用于我