我试图理解为什么人们希望将webpack服务器用于webpack捆绑并提供客户端代码并为api表达的应用程序的原因。
例如。我想你会在一个端口和运行在不同端口上的webpack上表达运行,你会将所有请求代理到webpack到后面的快速后端。
但是,我继续看到这种用法:
const app = express();
const compiler = webpack(config);
app.use(express.static(__dirname + '/dist'));
app.use(webpackMiddleware(compiler);
app.use(webpackHotMiddleware(compiler)); // And this line
明确使用此服务器的原因是什么?
答案 0 :(得分:2)
Webpack不适用于服务器,这是一种将MDN模块包含在浏览器中的方法。在您的代码中,webpack正在“锁定”以表达,并将处理其一些请求。这称为中间件,是node.js中大多数服务器库的主干(Meteor除外)。在这段代码中,只有一个(面向前方的)服务器,即使表达喜欢以指示其他方式的方式划分区域。让我们来看看代码中的重要部分:
const app = express();
const compiler = webpack(config);
app.use(express.static(__dirname + '/dist'));
上面的行查看/ dist并查看是否有文件提供给浏览器。按照惯例,这个中间件通常在处理任何动态页面之前。
app.use(webpackMiddleware(compiler);
app.use(webpackHotMiddleware(compiler)); // And this line
如果静态服务器无法处理此请求,请为其提供webpack模板
希望这很有帮助,
布兰登麦圭尔