Webpack-Dev-Middleware,Express和Webpack生成的视图。这应该如何工作?

时间:2019-04-12 22:16:55

标签: webpack webpack-dev-server webpack-dev-middleware

    Webpack配置中的
  • publicPath设置为/contents/dist/assets/
  • Express中的视图文件使用handlebars
  • 在Webpack配置中,handlebars模板已设置为输出正确的脚本标签/链接样式表。

    new HtmlWebpackPlugin({
      template: 'views/index.handlebars',
      filename: 'views/index.handlebars',
    }),
    

    因此,这还将输出到/contents/dist/assets/文件夹下的views。因此,/contents/dist/assets/views是输出它的地方。

  • ,在Express中,设置了一条路径来提供此文件。
        route.get('*',(req,res)=> {
           res.render('index'.....)

还有...
-我已设置webpack-dev-middleware来投放资产

  const webpack = require('webpack');
  const webpackDevMiddleware = require('webpack-dev-middleware');
  const config = require('../../webpack.config');
  const compiler = webpack(config);

  const app = express();

  app.use(webpackDevMiddleware(compiler, config.devServer));

  • 我已经设置了一个new CleanWebpackPlugin()插件,以在每次构建之前删除dist文件夹的内容,因此它以一个新的空文件夹开头。

这应该如何实际起作用?

Express正在寻找我告诉它查看的视图。

const viewsDir = resolve(__dirname, '../../client/views');
app.set('views', viewsDir);

当我运行webpack时,它将删除dist文件夹的内容,因此视图不存在。但是,webpack-dev-middleware 假设 不是通过内存来提供所有这些资产(HTML,Handlebars等)吗?不是文件系统?当Express到达/路线时,将没有任何服务。

这一切应该如何勾结在一起工作?

0 个答案:

没有答案