带有 React 热加载器的 publicPath
publicPath with react hot loader
我不太确定 webpack
中的 publicPath
是做什么的。具体来说,output.publicPath
。在 github 文档中,我看到了这个
https://github.com/webpack/docs/wiki/configuration#outputpublicpath
The output.path from the view of the Javascript / HTML page.
对于reactjs
热加载,我有
output: {
path: path.resolve('./public/bundle/'),
// path: './public/bundle',
filename: 'main.js',
// Webpack dev server is bound to port 8080, we have to force use of absolute URL, using the publicPath property
publicPath: 'http://localhost:8080/public/bundle/'
},
这是否意味着构建的webpack文件(main.js
)被放置在我的dev-server
http://localhost:8080/public/bundle/中?
是的,Webpack 需要知道您将在哪里托管生成的捆绑文件(或它生成的任何其他资产),以便它可以请求从文件加载器或 url 加载的其他块或文件-装载机。因此在这种情况下,当您启动 webpack-dev-server 时,您将能够访问您的捆绑文件:http://localhost:8080/public/bundle/main.js
(任何相关资产,如图像、commonchunk、字体等都将在该路径下)
在开发服务器之外,您可以使用它来定义资产的位置(来自自定义目录甚至 CDN)
我不太确定 webpack
中的 publicPath
是做什么的。具体来说,output.publicPath
。在 github 文档中,我看到了这个
https://github.com/webpack/docs/wiki/configuration#outputpublicpath
The output.path from the view of the Javascript / HTML page.
对于reactjs
热加载,我有
output: {
path: path.resolve('./public/bundle/'),
// path: './public/bundle',
filename: 'main.js',
// Webpack dev server is bound to port 8080, we have to force use of absolute URL, using the publicPath property
publicPath: 'http://localhost:8080/public/bundle/'
},
这是否意味着构建的webpack文件(main.js
)被放置在我的dev-server
http://localhost:8080/public/bundle/中?
是的,Webpack 需要知道您将在哪里托管生成的捆绑文件(或它生成的任何其他资产),以便它可以请求从文件加载器或 url 加载的其他块或文件-装载机。因此在这种情况下,当您启动 webpack-dev-server 时,您将能够访问您的捆绑文件:http://localhost:8080/public/bundle/main.js
(任何相关资产,如图像、commonchunk、字体等都将在该路径下)
在开发服务器之外,您可以使用它来定义资产的位置(来自自定义目录甚至 CDN)