0%

阿里云oss grunt上传插件

最近在研究前端工程化,准备把项目里的静态文件全传到阿里云 oss上,构建工具我们选的是grunt,npm里也有两三个oss上传插件,但是更新时间都比较久了,一一试过后都不能用,于是自己写了个插件。托管在 https://github.com/pocketdigi/grunt-aliyun-oss , 欢迎体验。 支持ContentType自动识别,Cache Control设置,上传路径设置。

grunt-aliyun-oss

aliyun oss plugin for grunt

Getting Started

This plugin requires Grunt ~0.4.5 If you haven’t used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you’re familiar with that process, you may install this plugin with this command:

npm install grunt-aliyun-oss --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-aliyun-oss');

The “aliyun_oss” task

Overview

In your project’s Gruntfile, add a section named aliyun_oss to the data object passed into grunt.initConfig().

grunt.initConfig({
  aliyun_oss: {
    options: {
      accessKeyId: 'accessKeyId',
      secretAccessKey: 'secretAccessKey',
      endpoint: 'http://oss-cn-hangzhou.aliyuncs.com',
      bucketName:'bucket',
      cacheControl:'no-cache'
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});

AliYun OSS Api doc

Options

options.accessKeyId

Type: String AliYun OSS accessKeyId

options.secretAccessKey

Type: String AliYun OSS secretAccessKey

options.endpoint

Type: String AliYun OSS endpoint

options.bucketName

Type: String AliYun OSS bucketName

options.bucketName

Type: String Default value:no-cache Cache Control in the Http Header,default value is no-cache See Http Cache

Usage Examples

Default Options

In this example, the default options are used to upload all file expect html file in dist directory to oss bucket1 bucket,and the oss root path is static/

grunt.initConfig({
   aliyun_oss: {
              default_options: {
                  options: {
                      accessKeyId: 'xxxx',
                      secretAccessKey: 'xxxx',
                      endpoint: 'http://oss-cn-hangzhou.aliyuncs.com',
                      bucketName:'bucket1',
                      cacheControl:'no-cache'
                  },
                  files: [
                      {
                          expand: true,
                          cwd: 'dist',
                          src: ['**/*','!**/*.html'],
                          dest:'static/'
                      }
                  ]
              }
          }
});

Release History

  • v0.2.0 fix upload bug,support ContentType,cache control.
  • v0.1.0 first version