在 Angular 2 中使用 gulp-s3 将资产上传到 digitalOcean 存储桶?
Uploading assets to digitalOcean bucket using gulp-s3 in Angular 2?
我正在使用 gulp-s3
库
在根目录中创建了 gulpfile.js
个文件
这里是上传dist文件夹的代码
console.log('gulf');
var gulp = require('gulp');
var s3 = require('gulp-s3');
//will add to the variable now just for testing
var AWS = {
key: 'ttvtdxxxx',
secret: 'ttvtd',
bucket: 'dev-static-ttvtd-ro',
region: 'fra1',
endpoint: 'https://fra1.digitaloceanspaces.com'
};
var options = {
uploadPath: 'assets',
headers: {
'Cache-Control': 'max-age=315360000, no-transform, public',
'x-amz-acl': 'private'
},
failOnError: true
}; // It will upload the 'src' into '/remote-folder'
gulp.task('default', async function() {
console.log("Hi! I'm Gulp default task root!");
gulp.src('./dist/**', {
read: false
}).pipe(s3(AWS, options));
console.log('task completed!');
});
当我 运行 命令 gulp
时,文件和代码正常工作,
那么我如何管理这个 aws 设置,以便它与 digitalOcean 存储桶一起工作。
dist
文件夹没有上传到do bucket 并且return 没有任何错误。
在 Digital Ocean docs 端点字符串中没有 https://
。
gulp-s3
在后台使用 aws-sdk
(实际上是相当旧的版本...)
就我个人而言,gulp-s3
并没有取得太大的成功,但 gulp-s3-upload
对我来说效果更好,因为它的功能更丰富,而且目前似乎更新得更频繁。
这是一个示例:
const s3upload = require('gulp-s3-upload')();
const s3Config = {
endpoint: 'fra1.digitaloceanspaces.com', // note no https://
region: 'fra1',
accessKeyId: process.env.S3_ACCESS_KEY,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
};
gulp.task('upload', () => gulp.src('dist/**')
.pipe(s3upload({
Bucket: process.env.S3_BUCKET,
ACL: 'private',
Metadata: {
"uploadedVia": "gulp-s3-upload"
}
}, s3Config)));
我正在使用 gulp-s3
库
在根目录中创建了 gulpfile.js
个文件
这里是上传dist文件夹的代码
console.log('gulf');
var gulp = require('gulp');
var s3 = require('gulp-s3');
//will add to the variable now just for testing
var AWS = {
key: 'ttvtdxxxx',
secret: 'ttvtd',
bucket: 'dev-static-ttvtd-ro',
region: 'fra1',
endpoint: 'https://fra1.digitaloceanspaces.com'
};
var options = {
uploadPath: 'assets',
headers: {
'Cache-Control': 'max-age=315360000, no-transform, public',
'x-amz-acl': 'private'
},
failOnError: true
}; // It will upload the 'src' into '/remote-folder'
gulp.task('default', async function() {
console.log("Hi! I'm Gulp default task root!");
gulp.src('./dist/**', {
read: false
}).pipe(s3(AWS, options));
console.log('task completed!');
});
当我 运行 命令 gulp
时,文件和代码正常工作,
那么我如何管理这个 aws 设置,以便它与 digitalOcean 存储桶一起工作。
dist
文件夹没有上传到do bucket 并且return 没有任何错误。
在 Digital Ocean docs 端点字符串中没有 https://
。
gulp-s3
在后台使用 aws-sdk
(实际上是相当旧的版本...)
就我个人而言,gulp-s3
并没有取得太大的成功,但 gulp-s3-upload
对我来说效果更好,因为它的功能更丰富,而且目前似乎更新得更频繁。
这是一个示例:
const s3upload = require('gulp-s3-upload')();
const s3Config = {
endpoint: 'fra1.digitaloceanspaces.com', // note no https://
region: 'fra1',
accessKeyId: process.env.S3_ACCESS_KEY,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
};
gulp.task('upload', () => gulp.src('dist/**')
.pipe(s3upload({
Bucket: process.env.S3_BUCKET,
ACL: 'private',
Metadata: {
"uploadedVia": "gulp-s3-upload"
}
}, s3Config)));