2017-09-15 35 views
0

由於VueCLI(+ Vuetify),我構建了一個小前臺。服務器靜態pdf - Vue CLI - Webpack - 問題

我想渲染一個按鈕,其中onClick用位於項目文件夾樹中的pdf打開一個新選項卡。

我有一個錯誤,並在幾個小時後尋找爲什麼,它似乎是一個webpack conf來修改。

我終於在S/O上看到這個答案; Serving static pdf with react webpack file loader

但我得到一個錯誤說include: paths -> paths is not defined

我不得不承認,我沒有任何線索的WebPack是如何工作的幕後所以任何幫助,將發現。

回答

0

您可能不需要Webpack:您可以將它放在靜態文件夾中並鏈接到它<a href="/static/mypdf.pdf">pdf</a>。如果你想要去的的WebPack路線,把它放在你的src /資產目錄並導入它,並將它添加到數據對象:

import pdf from '../assets/mypdf.pdf' 

//... 
data:() => ({ pdf }) 
//... 

然後使用您的組件的鏈接:

<a :href="pdf">pdf</a> 

你可能添加到include: paths裝載機配置,但你並沒有定義它,而不是修改你的圖像加載器,增加對PDF的一個新問題:

{ 
    test: /\.(pdf)(\?.*)?$/, 
    loader: 'url-loader', 
    options: { 
     name: utils.assetsPath('[name].[hash:7].[ext]') 
    } 
    } 

您可以更改[name].[hash:7].[ext]如果你想要的話,比如說你想在資產中添加一個pdfs目錄,而不是使用你將使用的基礎資產目錄:pdfs/[name].[hash:7].[ext]