我怎么能得到Express.js服务后被webpack

How can i get Express.js to serve after being Webpacked?

本文关键字:服务 webpack js Express 怎么能      更新时间:2023-09-26

我正试图得到一个系统一起翻译我的Node服务器(Express在这种情况下)下来,在很多相同的方式,我的客户端脚本-与webpack。

Express服务器非常基本。我导入了一些node_modules和一些本地的相对文件。Webpack似乎可以轻松解析所有内容,导入相关文件并简单地require() ` ` node_modules `(多亏了外部)。

然而,当我运行服务器(与node server.js)后webpacking,它得到一个错误,试图访问我的index.html。

Error: ENOENT: no such file or directory, stat '/public/index.html'
    at Error (native)

服务器报告它正在监听3000,但每次尝试访问都会记录此错误并在浏览器中显示。我正在发送一个预制的HTML文件,内容如下:

res.sendFile(path.resolve(__dirname, 'public', 'index.html'));

我已经搜索并发现使用babel-cli的人只使用Babel(和预设)单独在指定的节点代码上运行,但随后我无法解析任何模块路径。

还有其他人成功地编译了Node服务器应用程序并使其实际服务吗?我应该使用不同的函数来服务客户端吗?我应该用不同的方式而不是Webpack来处理这个问题吗?

我有同样的问题与webpack Express和这个修复它:response.sendFile(path.resolve('./public/index.html'), err => err && next(err));

在我的例子中,server.js和server.bundle.js文件在我的项目根目录下。

如果您的情况不同,您可以尝试:

response.sendFile(path.resolve('./public/index.html'), { root: __dirname }, err => err && next(err));