Javascript 将网页包配置为在相对路径上提供服务

Javascript 将网页包配置为在相对路径上提供服务,javascript,node.js,reactjs,webpack,koa,Javascript,Node.js,Reactjs,Webpack,Koa,我有一个koajs服务器,它作为/dist文件夹中的静态文件使用 const static_pages = new Koa(); static_pages.use(serve(process.env.PWD + "/dist")); app.use(mount("/app", static_pages)); 问题是,我想将index.html从/dist装载到相对路径“/app”处,因为在“/”处我还有其他内容。 我的webpack.config.js

我有一个koajs服务器,它作为/dist文件夹中的静态文件使用

const static_pages = new Koa();
static_pages.use(serve(process.env.PWD + "/dist")); 
app.use(mount("/app", static_pages));
问题是,我想将index.html从/dist装载到相对路径“/app”处,因为在“/”处我还有其他内容。 我的webpack.config.js如下所示:

  entry: "./static/index.js",
  output: {
      path: path.join(__dirname, 'dist'),
      filename: "[name].js"
  },
其中static/index.js是我的react应用程序。当我打开浏览器时,我得到一个500错误

"http://localhost:4000/main.js net::ERR_中止500(内部服务器 错误“

但是如果我转到localhost:4000/app/main.js它可以工作,我会得到main.js捆绑文件,但是我的index.html来自dist的文件试图得到main.js而不是/app/main.js。


我应该如何更改WebPACK配置文件,以便我的应用程序安装在相对路径上?

< p>如果您愿意在开发中使用Eng+膝关节炎,您应该使用<代码> WebPoCK DEVServer < /C> >在指定的端口上与HRM进行反应捆绑,否则,如果您愿意从React.js文件中断开静态构建,您应该使用中间件,它将允许您为包提供服务

根据您的网页包配置,您缺少重要的
html网页包插件
,该插件将在捆绑包中生成
index.html
(没有该插件,
koa
无法在指定路径上提供内容)

这是我的HtmlWbpackPlugin配置。我通过向输出中添加publigPath解决了这个问题,如下所示:

  output: {
    path: path.join(__dirname, 'dist'),
    filename: "[name].js",
    publicPath: '/app'
  },
我不知道这是否是最好的解决方案,但它是有效的

  output: {
    path: path.join(__dirname, 'dist'),
    filename: "[name].js",
    publicPath: '/app'
  },