2017-07-15 123 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。