簡體   English   中英

react-hot-loader的webpack輸出文件會去哪里?

[英]Where do the webpack output files from the react-hot-loader go?

首先,我要說的是我已設置的所有內容都可以正常工作,這只是一個困擾我的問題,我很想得到答案。 我正在使用react-hot-boilerplate項目( https://github.com/gaearon/react-hot-boilerplate )。 但是,在webpack.config.js ,此設置使我困惑webpack.config.js

output: {
  path: path.join(__dirname, 'dist'),
  filename: 'bundle.js',
  publicPath: '/static/'
},

在此配置中,看起來輸出文件應該進入項目根目錄下的dist文件夾。 即使我手動創建dist文件夾(我知道我不必這樣做),也不會輸出任何文件。 但是,一切都很好。 如果我更改了組件中的某些內容,則該應用會加載並會熱重新加載。 該輸出文件實際上在哪里?

react-hot-boilerplate的所有繁重工作(就熱重載文件而言)都是由webpack-dev-server依賴項完成的。

webpack-dev-server依次使用webpack-dev-middleware來處理文件的提供(來自express)。

關於Webpack Dev Server的這些文檔應該為您提供有關該機制如何工作的良好概述:

使用此配置webpack-dev-server將在您的構建文件夾中提供靜態文件,並監視您的源文件中的更改。 進行更改后,捆綁包將重新編譯。 修改后的捆綁包是從publicPath中指定的相對路徑的內存中提供的(請參閱API)。 它不會被寫入您配置的輸出目錄。 在同一個url路徑中已經存在捆綁軟件的情況下,內存中的捆綁軟件將優先。

例如,使用上述配置,您的捆綁包將在localhost:8080 / assets / bundle.js上提供

這是webpack-dev-middleware文檔中的一個好地方:

webpack-dev-middleware是用於基於連接的中間件堆棧的小型中間件。 它使用webpack在內存中編譯資產並提供服務。 當編譯運行時,對所提供的Webpack資產的所有請求都會被阻止,直到我們擁有穩定的捆綁包為止。

因此,在開發服務器內部,將文件寫入內存文件系統中,然后提供服務。 資產終結點從內存中的位置提供文件,並創建Web套接字連接以下推進一步的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM