Banner.js - 单行/多行注释横幅获取工具


MIT
跨平台
JavaScript

软件简介

Banner.js

向文件中添加注释。 基于 package.json 获取单行/多行注释横幅。

安装

npm install bannerjs --save

单行结果:

/*! bannerjs v1.0.8 | MIT (c) 2016 kenny wang <wowohoo@qq.com> | https://github.com/jaywcjlove/bannerjs */

多行结果:

/*!
 * bannerjs v1.0.0
 * Add a banner to a string. Get one-line/multi-line comment banner based on package.json.
 * 
 * Copyright (c) 2016 kenny wang <wowohoo@qq.com>
 * https://github.com/jaywcjlove/bannerjs
 *
 * Licensed under the MIT license.
 */

Structure

package.json中应定义以下键:

{
  "name": "bannerjs",
  "version": "1.0.0",
  "description": "Add a banner to a string. Get one-line/multi-line comment banner based on package.json.",
  "license": "MIT",
  "author": {
    "name": "kenny wang"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/jaywcjlove/bannerjs.git"
  }
}

author 值可以被定义为对象或简单的字符串。

使用

设置

  • bannerjs.multibanner(option) 多行注释

  • bannerjs.onebanner(option) 单行注释

    var banner = require(‘bannerjs’);
    bannerjs.multibanner({
      author:”banner.js”,
      homepage:”http://....",
      name:”banner.js”,
      license:”MIT”,
      version:1.2.3,
      description:”description”
    })

在gulp中使用

  • bannerjs.multibanner() 多行注释

  • bannerjs.onebanner() 单行注释

    var gulp = require(‘gulp’);
    var banner = require(‘gulp-banner’);
    var bannerjs = require(‘bannerjs’);

    gulp.task(‘default’, function() {
        gulp.src(‘./test.js’)
            .pipe(banner(bannerjs.multibanner()))
            .pipe(gulp.dest(‘dist/’));
    });

在Node中使用

var fs = require('fs');
var banner = require('bannerjs');
var uglify = require('uglify-js')

var code = fs.readFileSync('src/test.js', 'utf-8')
var minified = banner.onebanner() + '\n' + uglify.minify(code, {
  fromString: true,
  output: {
    ascii_only: true
  }
}).code;
fs.writeFileSync('src/test.js', minified);

命令行帮助

Usage: bannerjs

Pipe Usage: bannerjs

Options:

 -m --multi     Output multi-line results
 -o --one       Output one-line results

你可以在Linux/Mac命令行中使用

cat my-js.js | bannerjs -o | uglify-js > my-js.min.js

在Npm Script中使用

{
  "scripts":{
    "build:min": "cat my-js.js | uglifyjs | bannerjs -o > dist/my-js.min.js",
    "build:dist": "cat my-js.js | bannerjs -m | uglifyjs -b beautify=true --comments 'all' > dist/my-js.js "
  }
}

许可协议

MIT license