我正在開發reactjs應用程序並使用webpack捆綁應用程序。Webpack - 創建捆綁包時爲各種資產和資源設置路徑上下文
這是我如何設置我的index.html文件中的CSS文件的路徑。
<link rel="stylesheet" href="/styles.css" media="screen" charset="utf-8">
當我運行命令npm run dev
本地,系統上的端口8080上運行一個Web服務器,我可以訪問應用程序。所有這些工作正常。
當我在不同的環境中部署應用程序時,由於某種策略,我們需要將應用程序託管在一個子文件夾下。
這意味着在應用程序中使用相對路徑的任何資源都需要意識到這種變化。
假設子文件夾名稱爲TEST
。在這種情況下,本地可獲得的資源爲http://localhost:8080/abc.png,現在我們將以http://localhost:8080/TEST/abc.png的形式提供。
我不知道什麼是處理這種情況的最佳方法。我在想的是我將創建一個全局變量調用window_context
,並且使用相對路徑的每個資源都將使用此變量。
所以包括styles.css
不是我會用
<link rel="stylesheet" href="{window_context}/styles.css" media="screen" charset="utf-8">
如果我運行應用程序在本地變量將是空的,如果我使用的網絡包來創建一個包,我將window_context = '/TEST'
。
如何使用webpack訪問變量&根據我正在運行的命令爲其分配一個值。
所以如果我說npm run dev
(其在本地運行應用程序並啓動Web服務器)的window_context應設置爲「」,如果我跑npm run build
(它創建了一個包),就應該設置window_context到「/ TEST '
謝謝你的回覆。我明白你在說什麼。你可以請包括一些例子\鏈接來展示你在說什麼。 – SharpCoder
@SharpCoder添加了一個簡單的例子來說明 –
謝謝你快速回復。投票給出了很好的答案並增加了一個例子,但我認爲我的問題在前面並不清楚。現在我已經更新了這個問題。 – SharpCoder