遇到Webpack Dev Server设置问题

时间:2016-08-11 08:46:28

标签: webpack webpack-dev-server

我的项目大致有以下结构:

enter image description here

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.js1.bundle.js等)当应用切换到相应的路由时,从父包(bundle.js)请求。

我意识到主包使用Webpack配置的publicPath参数的output选项创建了与依赖包的链接。在上面显示的示例中,publicPath/;因此,如果我从index.html文件夹提供publicindex.html要求提出bundle.js,那么bundle.js将需要来自同一文件夹的0.bundle.js。另一方面,如果我将publicPath设置为/public,那么放置在index.html文件夹中的publicbundle.js需要0.bundle.js public/public来自class文件夹。

1 个答案:

答案 0 :(得分:0)

只是想说虽然我还没有找到原始问题的答案,但我意识到更好的设置是使用HTMLWebpackPlugin,将其作为template选项传递给我{ {1}}。该插件将自动引用我的脚本文件,将它们添加到模板中,并将生成的html放在输出路径(index.html文件夹)中。

对此感到高兴!