我的项目大致有以下结构:
Webpack将静态资源放在public
文件夹中。
output: {
path: resolve('public'),
filename: 'bundle.js'
},
我想要做的是让Webpack Dev Server从src文件夹中提供index.html
,但要从public
文件夹中请求静态资产。这可能吗?文档说,将index.html
文件放在build文件夹中,但是如果可以将dev服务器设置为从public
文件夹中提供静态资源,那么就没有理由复制index.html
1}}也在那里。
我尝试了以下配置,但它不起作用:
package.json中的:
webpack-dev-server --inline --history-api-fallback --content-base src
webpack.config.js中的:
output: {
path: resolve('public'),
publicPath: '../public',
filename: 'bundle.js'
},
其他信息,如果重要:我也在我的路由器中进行代码拆分,这样我就可以得到一些较小的捆绑包(0.bundle.js
,1.bundle.js
等)当应用切换到相应的路由时,从父包(bundle.js
)请求。
我意识到主包使用Webpack配置的publicPath
参数的output
选项创建了与依赖包的链接。在上面显示的示例中,publicPath
为/
;因此,如果我从index.html
文件夹提供public
而index.html
要求提出bundle.js
,那么bundle.js
将需要来自同一文件夹的0.bundle.js
。另一方面,如果我将publicPath
设置为/public
,那么放置在index.html
文件夹中的public
将bundle.js
需要0.bundle.js
public/public
来自class
文件夹。
答案 0 :(得分:0)
只是想说虽然我还没有找到原始问题的答案,但我意识到更好的设置是使用HTMLWebpackPlugin
,将其作为template
选项传递给我{ {1}}。该插件将自动引用我的脚本文件,将它们添加到模板中,并将生成的html放在输出路径(index.html
文件夹)中。
对此感到高兴!