Javascript 使用Angular 2中的gulp-s3将资产上载到digitalOcean bucket?
我正在使用Javascript 使用Angular 2中的gulp-s3将资产上载到digitalOcean bucket?,javascript,angular,amazon-web-services,gulp,digital-ocean,Javascript,Angular,Amazon Web Services,Gulp,Digital Ocean,我正在使用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-stati
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 bucket一起工作。
dist
文件夹未上载到do bucket,并且未返回任何错误 上,端点字符串中没有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)));