2017-07-15 122 views
0

我有一个Webpack S3插件的问题。我有一个非常基本的配置:Webpack s3插件没有更新要从S3加载的图像

new S3Plugin({ 
    s3Options: { 
     accessKeyId: process.env.AWS_ACCESS_KEY_ID, 
     secretAccessKey: process.env.AWS_ACCESS_KEY_SECRET, 
     region: process.env.AWS_REGION 
    }, 
    s3UploadOptions: { 
     Bucket: process.env.AWS_S3_BUCKET 
    } 
}) 

当我建立使用的WebPack我的代码,捆绑JS文件,CSS文件,所有的字体都正确上传到S3桶。这些URL是相对于目录显示的,因此它适用于S3。但是,使用文件加载器加载的SVG文件也会将URL转换为相关的URL。由于我的网站是从另一个域加载的,因此无法打开图像。此外,图像文件也不会上传到S3。该文件被加载这样的:

import logo from 'img/logo.svg'; 

有没有一种方法,使S3插件将文件转换为S3的URL,而不是相对的?另外,有没有办法让S3上传使用import加载的文件?

回答

0

我从我的webpack配置丢失了publicPath。我只是像这样添加它:

output: { 
    ..., 
    publicPath: 'https://' + bucketName + '.s3.amazonaws.com/' 
} 

最后的正斜杠很重要,因为webpack只是将导入的文件名追加到publicPath。